type a = struct { b: u32, }; fn func() (a | void) = if (true) { let b = a { b = 0 }: (a | void) as a; return b; }; export fn main() void = { assert((func() as a).b == 0); };