```diff - type Combine<T> = { [K in (keyof T)]: T[K] } + type Combine<T> = T extends Obj ? { [K in (keyof T)]: Combine<T[K]> } : T ```