=== 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))
}