export type NullToOptional = { [K in keyof T as null extends T[K] ? K : never]?: Exclude | undefined | null } & { [K in keyof T as null extends T[K] ? never : K]: T[K] }