quite often i run into a situation were i need a reference to a generic function to be pre-filled with some type arguments, example:
declare function toArrayOf<T>(): T[];
declare function fn<T>(make: () => T): void;
// currently it takes
fn(() => [] as string[]);
// i wish, i could do
fn(toArrayOf<string>); // <-- a reference to a generic function pre-filled with type arguments