merge(base, override) deep-merging two parsed JSON dicts: when both hold a dict at the same key, merge recursively; otherwise override wins. Neither input may be mutated — return a new dict.merge({'db': {'host': 'a', 'port': 5432}}, {'db': {'host': 'b'}}){'db': {'host': 'b', 'port': 5432}}host overridden, port inherited.
Start from dict(base) and lay override on top.
Recurse only when both sides are dicts.