code: def step(step_name=None):
      
      def decorator(func):
          if step_name:
              name = step_name
          else:
              name = func.__name__
          add_step(name, func)
          return func
      return decorator
docs: Decorates functions that will be called by the `run` function.
  
      Decorator version of `add_step`. step name defaults to
      name of function.
  
      The function's argument names and keyword argument values
      will be matched to registered variables when the function
      needs to be evaluated by Orca.
      The argument name "iter_var" may be used to have the current
      iteration variable injected.