=== tests/cases/compiler/instantiatedReturnTypeContravariance.ts === interface B { >B : B >T : T name: string; >name : string x(): T; >x : () => T >T : T } class c { >c : c foo(): B { >foo : () => B >B : B return null; } } class d extends c { >d : d >c : c foo(): B { >foo : () => B >B : B return null; } }