code: def _make_recur(obj, make_fn, ac_ordered=False, ac_dict=None, **options):
      
      if ac_dict is None:
          ac_dict = anyconfig.compat.OrderedDict if ac_ordered else dict
  
      return ac_dict((k, None if v is None else make_fn(v, **options))
                     for k, v in obj.items())
docs: :param obj: A mapping objects or other primitive object
      :param make_fn: Function to make/convert to
      :param ac_ordered: Use OrderedDict instead of dict to keep order of items
      :param ac_dict: Callable to convert 'obj' to mapping object
      :param options: Optional keyword arguments.
  
      :return: Mapping object