type UnionRange = []> = Result['length'] extends N ? Result[number] : UnionRange; export type Bit = 0 | 1; export type Bits = Array; export type BooleanBits = Array; export type Byte = [Bit, Bit, Bit, Bit, Bit, Bit, Bit, Bit]; export type Nibble = [Bit, Bit, Bit, Bit]; export type UInt4 = UnionRange<16>; export type UInt8 = UnionRange<256>; export {};