type XBuildTuple = (Tuple['length'] extends Size ? Tuple : XBuildTuple); export type XLessThan = Left extends Right ? false : XBuildTuple extends [...XBuildTuple, ...infer _Rest] ? false : true; export type XLessThanEqual = (Left extends Right ? true : XLessThan); export type XGreaterThan = (XLessThan); export type XGreaterThanEqual = (XLessThanEqual); export {};