docstr: Reduce a function that is not pickleable via attribute lookup.
code: def _dynamic_function_reduce(self, func):
      """Reduce a function that is not pickleable via attribute lookup."""
      newargs = self._function_getnewargs(func)
      state = _function_getstate(func)
      return (
          types.FunctionType,
          newargs,
          state,
          None,
          None,
          _function_setstate,
      )
  
imports: import abc
  import copyreg
  import io
  import itertools
  import logging
  import sys
  import struct
  import types
  import weakref
  import typing
  from enum import Enum
  from collections import ChainMap
  from ._compat import pickle, Pickler
  from ._cloudpickle import _extract_code_globals, _BUILTIN_TYPE_NAMES, DEFAULT_PROTOCOL, _find_imported_submodules, _get_cell_contents, _is_importable, _builtin_type, _get_or_create_tracker_id, _make_skeleton_class, _make_skeleton_enum, _extract_class_dict, dynamic_subimport, subimport, _typevar_reduce, _get_bases, _make_cell, _make_empty_cell, CellType, _is_parametrized_type_hint, PYPY, cell_set, parametrized_type_hint_getinitargs, _create_parametrized_type_hint, builtin_code_type
label_desc: Use image node_id 1 for calling the CloudPickler obj's underlying member method code with example usage: obj._dynamic_function_reduce(func) and returns: types,  newargs,  state,  None,  None,  _function_setstate