// Result type utilities // For working with computations that may fail /// Wrap a value in Ok pub fn ok(value: T): Result = Ok(value) /// Wrap an error in Err pub fn err(error: E): Result = Err(error) /// Check if result is Ok pub fn isOk(r: Result): Bool = match r { Ok(_) => true, Err(_) => false } /// Check if result is Err pub fn isErr(r: Result): Bool = match r { Ok(_) => false, Err(_) => true } /// Get value or default pub fn unwrapOr(r: Result, default: T): T = match r { Ok(v) => v, Err(_) => default } /// Map over the success value pub fn mapOk(r: Result, f: fn(T): U): Result = match r { Ok(v) => Ok(f(v)), Err(e) => Err(e) } /// Map over the error value pub fn mapErr(r: Result, f: fn(E): F): Result = match r { Ok(v) => Ok(v), Err(e) => Err(f(e)) }