deepMerge({ a: { x: 1 } }, { a: { y: 2 } }) // β { a: { x: 1, y: 2 } }deepMerge recursively merges nested objects instead of overwriting nested properties.
Challenge: Implement deepMerge<T extends object, U extends object>(a: T, b: U): T & U performing a one-level deep merge (nested objects are merged, not replaced).
deepMerge({ a: { x: 1 }, b: 2 }, { a: { y: 3 } })
// β { a: { x: 1, y: 3 }, b: 2 }