old_contents: #TODO improve sympy to handle Sum objects
  
  def sympy(f):
      args = f.__code__.co_varnames
      from sympy import symbols
      args = symbols(args)
      expr = f(*args)
      def wrapper(*vals):
         return  expr.subs(zip(args,vals)).doit()
      
      return wrapper
  
  
  def python(f):
      args = f.__code__.co_varnames
      def wrapper(*vals):
         return  f(*vals)
  
  def lambdify(f):
      return f
  
  
  def types(*args)
      def id(f):
          return f
      return id
  
  
  
  
  
new_contents: #TODO improve sympy to handle Sum objects
  
  def sympy(f):
      args = f.__code__.co_varnames
      from sympy import symbols
      args = symbols(args)
      expr = f(*args)
      def wrapper(*vals):
         return  expr.subs(zip(args,vals)).doit()
      
      return wrapper
  
  
  def python(f):
      args = f.__code__.co_varnames
      def wrapper(*vals):
         return  f(*vals)
  
  def lambdify(f):
      return f
  
  
  def types(*args):
      def id(f):
          return f
      return id
  
  
  
  
  
subject: fix bug in decorators