// @see https://stackoverflow.com/a/59906630/392905 type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift' | number type ArrayItems> = T extends Array ? TItems : never export type FixedLengthArray = Pick> & { [Symbol.iterator]: () => IterableIterator< ArrayItems > }