code: def merge_dict(d1, d2):
      
      for k,v2 in d2.items():
          v1 = d1.get(k) # returns None if v1 has no value for this key
          if ( isinstance(v1, collections.Mapping) and
               isinstance(v2, collections.Mapping) ):
              merge_dict(v1, v2)
          else:
              d1[k] = v2
docs: Modifies d1 in-place to contain values from d2.  If any value
      in d1 is a dictionary (or dict-like), *and* the corresponding
      value in d2 is also a dictionary, then merge them in-place.