083 effect branch resume binding

✓ Passing This code compiles and runs correctly.

Code

// Test: effect-branch handler uses the binding itself as the resume value.
//
// `! transform q |> q` — the handler echoes its input. The bare identifier
// `q` at body position IS the resume value (after the parser fix that
// recognizes invocations always have parens, locked 2026-05-24).

~import "$std/io"

~pub event transform { payload: i32 }
! squarify i32 -> i32
| done i32

~proc transform|zig {
    const squared = squarify(payload * payload);
    return .{ .done = squared };
}

~transform(payload: 7)
! squarify n |> n
| done result |> std.io:print.blk {
    result is {{ result:d }}
}
input.kz

Actual

result is 49

Expected output

result is 49

Test Configuration

MUST_RUN