Type alias Cartesian<L, R>
Cartesian<L, R>: L extends RoArray ? Flatten<[...{ [K in keyof L]: K extends `${number}` ? Cartesian<L[K], R> : never }]> : R extends RoArray ? [...{ [K in keyof R]: K extends `${number}` ? readonly [L, R[K]] : never }] : [L, R]