code: def walk_map(d, func):
      
      out = {}
      for k, v in d.items():
          if isinstance(v, (dict, defaultdict)):
              out[k] = walk_map(v, func)
          else:
              out[k] = func(v)
      return out
docs: Apply a function recursively to values of dictionary.
  
      Parameters
      ----------
      d : dict
        Input dictionary, possibly nested.
      func : function
        Function to apply to dictionary values.
  
      Returns
      -------
      dict
        Dictionary whose values are the output of the given function.