code: def inorder(self):
          
  
          if not self:
              return
  
          if self.left:
              for x in self.left.inorder():
                  yield x
  
          yield self
  
          if self.right:
              for x in self.right.inorder():
                  yield x
docs: iterator for nodes: left, root, right