docs: def wrap_args_kwargs_to_initdict(init_args_kwargs_fn: InitArgsKwargsFnType,
                                   typename: str,
                                   check_result: bool = True) \
          -> InstanceToInitDictFnType:
      """
      Wraps a function producing a ``KwargsDict``, making it into a function
      producing an ``InitDict``.
      """
      def wrapper(obj: Instance) -> InitDict:
          result = init_args_kwargs_fn(obj)
          if check_result:
              if (not isinstance(result, tuple) or
                      not len(result) == 2 or
                      not isinstance(result[0], list) or
                      not isinstance(result[1], dict)):
                  raise ValueError(
                      "Class {} failed to provide an (args, kwargs) tuple and "
                      "provided instead: {}".format(typename, repr(result)))
          return args_kwargs_to_initdict(*result)
  
      return wrapper