code: def exception(function):
      
      @functools.wraps(function)
      def wrapper(*exception, **kwargs):
          result = function(**kwargs)
          if exception:
              result.exception = exception[0]
          return result
      return wrapper
docs: If exception was specified for prepared_request,
      inject this into SMCRequest so it can be used for
      return if needed.