mergeWith
inline fun <K, V> MutableMap<K, V>.mergeWith(other: Map<K, V>, resolve: (key: K, current: V, incoming: V) -> V)
Merges other into this map in place, calling resolve for keys present in both.
resolve receives the key, this map's value, and the value from other, and its result is stored for that key. Keys only present in other are copied over.