export type Flatten = A extends [infer H] ? S & H : A extends [infer H, infer T] ? [Flatten] : S export type UnNest = T extends any[] ? { [K in keyof T]: T[K] extends [infer TT] ? (TT extends any[] ? UnNest : TT) : T[K] }[number] : Fallback