Incorrect Type Inference with mergeDeepRight, mergeDeepLeft, mergeRight, mergeLeft when Merging T and Partial<T>
Description:
After updating to the latest versions of ramda and @types/ramda, I encountered an issue with the type inference of the mergeDeepRight function in TypeScript. Specifically, when merging an object of type T with a Partial<T>, the resulting type is not correctly inferred as T. Instead, properties are being inferred as unknown, leading to type errors.
This behavior did not occur in the previous versions ([email protected] and @types/[email protected]), where the types were correctly inferred, and the merge operation worked without any type assertions or errors.
Affected Versions:
"@types/ramda": "^0.30.2",
"ramda": "^0.30.1",
"typescript": "^5.5.4"
Reproduction: https://stackblitz.com/edit/vitejs-vite-xsspwg?file=index.ts
I think the relevant change is this one: https://github.com/ramda/types/pull/129 I had the exact same problem