present: i32?: some 1 absent: i32?: nil success: i32 ! str: ok 1 failure: i32 ! str: err 'failed' piped: i32?: some 4->double grouped: i32?: some {4->double} double :: @ value { value * 2 } describe :: @ (label: str, count) -> str { label } unwrap_or: i32? -> i32: @ value { match value { some inner => inner nil => 0 } } handle: i32 ! str -> i32: @ result { match result { ok value if value > 0 => value ok _ => 0 err message => message->length } }