export type Diff = { [P in keyof O | keyof O1 as Exclude]: P extends keyof O ? O[P] : P extends keyof O1 ? O1[P] : never; };