Returns a copy of the collection with the remaining collections merged in, calling the merger function whenever an existing value is encountered.
A functional alternative to collection.mergeWith() which will also work with plain Objects and Arrays.