Add deep-merge and deep-merge-with
When dealing with nested map structures, one often wants to merge two maps recursively.
The deep-merge-with function was originally written by Chris Houser for clojure.contrib.map-utils but was not maintained after clojure-contrib was split into separate modules.
deep-merge and deep-merge-with are widely copied, usually with the same implementation, in utility libraries. For example:
Vague semantics and docs strings