code: def preorder_iter(expression):
      
      yield expression
      if isinstance(expression, Operation):
          for operand in op_iter(expression):
              yield from preorder_iter(operand)
docs: Iterate over the expression in preorder.