export type AddOptionToUndefined = { [K in keyof T as undefined extends T[K] ? never : K]: T[K] } & { [K in keyof T as undefined extends T[K] ? K : never]+?: T[K] } export type Simplify = { [K in keyof T]: T[K] } & {} export function print(val: unknown): string { if (val === undefined) return 'undefined' return JSON.stringify(val) }