//ww:error "?: multi-success union unwired (task #14): bind and match instead" package main; type capture = struct { content: str, start: size, end: size }; fn search2(k: i32) (void | []capture | nomem) = { if (k == 0) { return; }; let caps: []capture = []; append(caps, capture { content = "xy", start = 1, end = 3 }); return caps; }; fn tb(k: i32) (i32 | nomem) = { let r: (void | []capture) = search2(k)?; if (r is []capture) { return 7; }; return 8; }; export fn main() i32 = { let x: (i32 | nomem) = tb(1); return 0; };