// Input
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
// Prettier stable
type Tail<T extends any[]> = T extends [infer U, ...(infer R)] ? R : never;
// Prettier master
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;