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 }