export type MapFunc = (value: T, index: number, array: T[]) => U export type ElementOf = ArrayType extends readonly (infer ElementType)[] ? ElementType : never