def merge_dicts(target: dict, enhancer: dict) -> dict: for key, val in enhancer.items(): if key not in target: target[key] = val continue if isinstance(val, dict): merge_dicts(target[key], val) else: target[key] = val return target