docs: 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