              root.right = Node(data)
              root.right.parent = root
              return root.right
          else:
              return insert(root.right, data) 
</s> remove             root.right = Node(data)
 </s> add             root.right = insert(root.right, data) </s> remove             return root.right
 </s> add  </s> remove             return insert(root.left, data)
 </s> add             insert(root.left, data) </s> remove             return root.left
 </s> add  </s> remove             root.left = Node(data)
 </s> add             root.left = insert(root.left, data)
              root.right = Node(data)
              root.right.parent = root
              return root.right
          else:

keep keep keep keep replace
 Polish bst challenge and solution (#75)

Update constraints, algorithm discussion, and code. 
graphs_trees/bst/bst.py