interface Success<T> {
ok: true;
value: T;
}
interface Failure<E> {
ok: false;
error: E;
}
export function Success<T>(value: T): Success<T> {
return { ok: true, value };
}
export function Failure<E>(error: E): Failure<E> {
return { ok: false, error };
}