import { BaseError } from "./errors/base"; type OkResult = { val: V; err?: never; }; type ErrResult = { val?: never; err: E; }; export type Result = OkResult | ErrResult; export function Ok(): OkResult; export function Ok(val: V): OkResult; export function Ok(val?: V): OkResult { return { val } as OkResult; } export function Err(err: E): ErrResult { return { err }; }