Given two objects deeply merges them, if an object is an array it will merge the array values! Guarantees some type safety by requiring objects to merge to be from the same type (allows undefined)
Optional
Given two objects deeply merges them, if an object is an array it will merge the array values! Guarantees some type safety by requiring objects to merge to be from the same type (allows undefined)