docs: def func_load(code, defaults=None, closure=None, globs=None):
      """
      Reload a function
      :param code: The code object
      :param defaults: Default values
      :param closure: The closure
      :param globs: globals
      :return:
      """
      if isinstance(code, (tuple, list)):  # unpack previous dump
          code, defaults, closure = code
      code = marshal.loads(code)
      if closure is not None:
          closure = func_reconstruct_closure(closure)
      if globs is None:
          globs = globals()
      return types.FunctionType(code, globs, name=code.co_name, argdefs=defaults, closure=closure)