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