docs: def merge(into, d):
      """merge two containers
      
      into is updated, d has priority
      """
      if isinstance(into, dict):
          for key in d.keys():
              if key not in into:
                  into[key] = d[key]
              else:
                  into[key] = merge(into[key], d[key])
          return into
      elif isinstance(into, list):
          return into + d
      else:
          return d