<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def remote(fn, name=None, types=None):
 """Decorator that adds a remote attribute to a function. fn -- function being decorated name -- aliased name of the function, used for remote proxies types -- a argument type specifier, can be used to ensure arguments are of the correct type """

    if not name:
        name = fn.__name__

    fn.remote = {"name": name, "types": types}
    return fn