078 effect branch catchall runtime

✓ Passing This code compiles and runs correctly.

Code

// Test: optional `!` branches are silently no-op when omitted.
//
// Producer fires `a(1)`, `b(2)`, `c(3)`. Consumer explicitly handles
// `! a`; the optional `! ?b` and `! ?c` are omitted entirely. Per the
// doc, that's the no-op — the handlers aren't installed in the comptime
// struct, so the producer's calls to b/c lower to nothing.
//
// (Original form used `!? |> _` as bare-discard catch-all; that's now
// parser-rejected by the pay-for-nothing rule. The "absorbs unhandled
// optionals" goal is achieved without any consumer marker.)

~import "$std/io"

~pub event multi {}
! a usize
! ?b usize
! ?c usize

~proc multi|zig {
    a(1);
    b(2);
    c(3);
}

~multi()
! a v |> std.io:print.blk {
    a {{ v:d }}
}
input.kz

Actual

a 1

Expected output

a 1

Test Configuration

MUST_RUN