adds deepMerge, mergeWith, and deepMergeWith