function first0<T>(arr: T[]): T { return arr[0]; }
const first1 = function <T>(arr: T[]): T { return arr[0]; }
const first2 = <T>(arr: T[]): T => arr[0];
const first3: <T>(arr: T[]) => T = (arr) => arr[0];
const first4: <T>(arr: T[]) => T = <T>(arr: T[]): T => arr[0];