code: def merge_specs(target, source):
      
  
      for key, value in source.items():
          if isinstance(value, dict):
              node = target.setdefault(key, {})
              merge_specs(node, value)
          elif isinstance(value, list):
              node = target.setdefault(key, [])
              node.extend(value)
          else:
              target[key] = value
docs: Update target dictionary with values from the source, recursively.
      List items will be merged.