import { Expand } from '@dedot/shape'; export type SerdeResult = SerdeEnum<{ Ok: O; Err: E; }>; export type SerdeEnum = { [K in keyof T]: T[K] extends void ? K : Expand & Omit<{ [K in keyof T]?: never; }, K>>; }[keyof T];