export type Length = T extends { length: infer L; } ? L : never; export type TupleToObject = { [Value in T[number]]: () => void; };