export type Un = undefined | null; export type Ou = T | undefined; export type On = T | null; export type Oun = T | Un; export type MaybeArray = T | T[]; export type MaybePromise = T | Promise; export type GenericData = Record; export type Data = GenericData; export type IfAny = 0 extends 1 & T ? Y : N; export type ArrayElementType = T extends (infer E)[] ? E : T;