import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect, never>>, Expect, 2>>, Expect, 200>>, ] type Max< T extends number, U extends number, Acc extends 1[] = [] > = Acc['length'] extends T ? U : Acc['length'] extends U ? T : Max type Maximum< T extends unknown[] > = T extends [infer First, infer Second, ...infer Tail] ? First extends number ? Second extends number ? Maximum<[Max, ...Tail]> : never : never : T extends [infer Head, ...infer Tail] ? T[0] : never ;