// Repro from #13351 type Meta = { [P in keyof T]: { value: T[P]; also: A; readonly children: Meta; }; } interface Input { x: string; y: number; } declare const output: Meta; const shouldFail: { important: boolean } = output.x.children;