code: def remove_child(self, child):
          
          try:
              self.children.remove(child)
          except ValueError as e:
              raise TreeError("child not found")
          else:
              child.up = None
              return child
docs: Removes a child from this node (parent and child
          nodes still exit but are no longer connected).