<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def return_future(fn):
 """Decorator that turns a synchronous function into one returning a future. This should only be applied to non-blocking functions. Will do set_result() with the return value, or set_exc_info() if an exception is raised. """

    @wraps(fn)
    def decorated(*args, **kwargs):
        return gen.maybe_future(fn(*args, **kwargs))

    return decorated