code: def convert_dicts(d, to_class=AttrDictWrapper, from_class=dict):
      
      d_ = to_class()
      for key, value in d.iteritems():
          if isinstance(value, from_class):
              d_[key] = convert_dicts(value, to_class=to_class,
                                      from_class=from_class)
          else:
              d_[key] = value
      return d_
docs: Recursively convert dict and UserDict types.
  
      Note that `d` is unchanged.
  
      Args:
          to_class (type): Dict-like type to convert values to, usually UserDict
              subclass, or dict.
          from_class (type): Dict-like type to convert values from. If a tuple,
              multiple types are converted.
  
      Returns:
          Converted data as `to_class` instance.