code: def is_anonymous(expression):
      
      if hasattr(expression, 'variable_name') and expression.variable_name:
          return False
      if isinstance(expression, Operation):
          return all(is_anonymous(o) for o in op_iter(expression))
      return True
docs: Returns True iff the expression does not contain any variables.