export type Err = { kind: 'Err'; value: T; isErr: true; isOk: false; }; export type Ok = { kind: 'Ok'; value: T; isErr: false; isOk: true; }; export type Result = Err | Ok; // eslint-disable-next-line @typescript-eslint/no-redeclare export const Err = (value: E): Err => { const err: Err = { kind: 'Err', value, isErr: true, isOk: false, }; return err; }; // eslint-disable-next-line @typescript-eslint/no-redeclare export const Ok = (value: T): Result => { const ok: Ok = { kind: 'Ok', value, isErr: false, isOk: true, }; return ok; };