//ww:run-exit 30 package main; fn mk(s: str) (str | void) = { return s; }; fn pick(r: (i64 | str | void)) i32 = { match (r) { case let n: i64 => return 10; case let s: str => { if (len(s) != 5) { return 4; }; return 30; }; case void => return 20; }; }; export fn main() i32 = { return pick(mk("hello")); };