code: def wrapFn(fn, *args, **kwargs):
          
          if PromisedRequirement.convertPromises(kwargs):
              return PromisedRequirementFunctionWrappingJob.create(fn, *args, **kwargs)
          else:
              return FunctionWrappingJob(fn, *args, **kwargs)
docs: Makes a Job out of a function. \
          Convenience function for constructor of :class:`toil.job.FunctionWrappingJob`.
  
          :param fn: Function to be run with ``*args`` and ``**kwargs`` as arguments. \
          See toil.job.JobFunctionWrappingJob for reserved keyword arguments used \
          to specify resource requirements.
          :return: The new function that wraps fn.
          :rtype: toil.job.FunctionWrappingJob