              root.right.parent = root
              return root.right
          else:
              return insert(root.right, data) 
</s> remove             insert(root.left, data)
 </s> add             return insert(root.left, data) </s> remove             insert(root.right, data) </s> add 
            return insert(root.right, data)
              root.right.parent = root
              return root.right
          else:
              return insert(root.right, data) 
            return insert(root.right, data)
keep keep keep add
 Updated bst to keep track of its parent and to return the node it inserts. 
graphs_trees/bst/bst.py