The full example explaining the syntax referenced by Robin... brought it home for me:
Generic functions
Something like the following works fine:
function foo<T>(x: T): T { return x; }
However using an arrow generic function will not:
const foo = <T>(x: T) => x; // ERROR : unclosed `T` tag
Workaround: Use extends on the generic parameter to hint the compiler
that it's a generic, e.g.:
const foo = <T extends unknown>(x: T) => x;
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…