tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments3.ts(7,29): error TS2345: Argument of type '(t2: A) => A' is not assignable to parameter of type '(t2: A) => B'. Type 'A' is not assignable to type 'B'. Property 'b' is missing in type 'A'. ==== tests/cases/compiler/typeParameterFixingWithContextSensitiveArguments3.ts (1 errors) ==== function f(t1: T, u1: U, pf1: (u2: U) => T, pf2: (t2: T) => U): [T, U] { return [t1, pf2(t1)]; } interface A { a: A; } interface B extends A { b: B; } var a: A, b: B; var d = f(a, b, u2 => u2.b, t2 => t2); ~~~~~~~~ !!! error TS2345: Argument of type '(t2: A) => A' is not assignable to parameter of type '(t2: A) => B'. !!! error TS2345: Type 'A' is not assignable to type 'B'. !!! error TS2345: Property 'b' is missing in type 'A'.