1 2 3 4 5 6 7 8
export type UnarrayIfOnlyHead<T extends readonly any[]> = T extends [ infer Head, infer Next ] ? T : T extends [infer Head] ? Head : T;