=== tests/cases/compiler/genericInterfaceFunctionTypeParameter.ts === export interface IFoo { } >IFoo : IFoo, Symbol(IFoo, Decl(genericInterfaceFunctionTypeParameter.ts, 0, 0)) >A : A, Symbol(A, Decl(genericInterfaceFunctionTypeParameter.ts, 0, 22)) export function foo(fn: (ifoo: IFoo) => void) { >foo : (fn: (ifoo: IFoo) => void) => void, Symbol(foo, Decl(genericInterfaceFunctionTypeParameter.ts, 0, 28)) >A : A, Symbol(A, Decl(genericInterfaceFunctionTypeParameter.ts, 1, 20)) >fn : (ifoo: IFoo) => void, Symbol(fn, Decl(genericInterfaceFunctionTypeParameter.ts, 1, 23)) >ifoo : IFoo, Symbol(ifoo, Decl(genericInterfaceFunctionTypeParameter.ts, 1, 28)) >IFoo : IFoo, Symbol(IFoo, Decl(genericInterfaceFunctionTypeParameter.ts, 0, 0)) >A : A, Symbol(A, Decl(genericInterfaceFunctionTypeParameter.ts, 1, 20)) foo(fn); // Invocation is necessary to repro (!) >foo(fn) : void >foo : (fn: (ifoo: IFoo) => void) => void, Symbol(foo, Decl(genericInterfaceFunctionTypeParameter.ts, 0, 28)) >fn : (ifoo: IFoo) => void, Symbol(fn, Decl(genericInterfaceFunctionTypeParameter.ts, 1, 23)) }