code: def insert(self, value):
          
          side = '_lesser' if value < self.value else '_greater'
          child = getattr(self, side)
          if child is None:
              setattr(self, side, _BinarySearchTree(value))
          else:
              child.insert(value)
docs: Insert a new node containing *value* into this tree such that its
          structure as a binary search tree is preserved.