//ww:run-exit 22 package main; type a = !void; type b = !void; type big = !struct { f: *fn(p: *i32) i32, data: [3]u64 }; type u = !(a | b | big); fn mksmall() u = { let y: b; return y; }; export fn main() i32 = { let r = mksmall(); match (r) { case a => return 90; case b => return 22; case big => return 9; }; };