function tail < T extends any [ ] > ( arr ) { const [ _ignored , ... rest ] = arr ; return rest ; } type Strings = [ string , string ] ; type Numbers = [ number , number ] ; type StrStrNumNumBool = [ ... Strings , ... Numbers , boolean ] ;