type V = { value: number; } type O = { m(x:V): V; // ^ defined: 1 // ^ defined: 1 }; let foo: O; // ^ defined: 3 foo.m(null).value; //^ defined: 9 // ^ defined: 4 // ^ defined: 1 export {};