/** Result of a fallible operation. Expected failures use the `ok: false` arm. */ export type Result = { ok: true; value: TValue } | { ok: false; error: TError }; /** Create a successful {@link Result}. */ export function ok(value: TValue): Result { return { ok: true, value }; } /** Create a failed {@link Result}. */ export function err(error: TError): Result { return { ok: false, error }; }