type Prettify = { [K in keyof T]: T[K]; } & {}; type UnionToIntersection = Prettify<(T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never>; export type { Prettify, UnionToIntersection };