type Bar = ReturnType<(x: T) => number>; declare const a: Bar; function foo(_x: T) {} const b = foo<(x: T) => number>(() => 1);