export type Success = { success: true; value: T; }; export type Failure = { success: false; error: E; }; export type Result = Success | Failure; export function success(value: T): Success { return { success: true, value }; } export function failure(error: E): Failure { return { success: false, error }; }