//// [genericInterfaceFunctionTypeParameter.ts] export interface IFoo { } export function foo(fn: (ifoo: IFoo) => void) { foo(fn); // Invocation is necessary to repro (!) } //// [genericInterfaceFunctionTypeParameter.js] define(["require", "exports"], function (require, exports) { function foo(fn) { foo(fn); // Invocation is necessary to repro (!) } exports.foo = foo; });