type Diff = ({ [P in T]: P } & { [P in U]: never } & { [x: string]: never })[T] export type Omit = Pick> export type SingleOrArray = { [P in T]: Properties[P] | Array }