type A = {name: string}
type B = {name: number}
type C = {name: string , age:number}
type D = {name: string , age:string}
type E = {name: string , address:string}
type Prettify<T extends Record<string, unknown>> = { [K in keyof T]: T[K] }
type UnionKeysAndMakeUncommonKeysOptional<
T extends Record<string, unknown>[]…