function recursive() { let x = (subkey: T) => recursive(); return x as typeof x & { p }; } let result = recursive()(1)