code: def _fill_function(func, globals, defaults, dict, module, closure_values):
      
      func.__globals__.update(globals)
      func.__defaults__ = defaults
      func.__dict__ = dict
      func.__module__ = module
  
      cells = func.__closure__
      if cells is not None:
          for cell, value in zip(cells, closure_values):
              if value is not _empty_cell_value:
                  cell_set(cell, value)
  
      return func
docs: Fills in the rest of function data into the skeleton function object
          that were created via _make_skel_func().