The type a value is stored into stops at a comparison, as it stops at a call: a bool holds the comparison's answer, and its operands take their width from each other.
context_stops_at_a_comparison.zg
# The type a value is stored into stops at a comparison, as it stops at a call: a `bool`# holds the comparison's answer, and its operands take their width from each other (2026-09-23).MAIN{let'w':uint32=3;let'b':bool=(5minus.wrap'w')>1;# a uint32 subtraction, 'w' says so, not a bool onelet'c':bool=1<(0minus.wrap'w');# wraps to 4294967293let'n':uint64=5;let'd':bool='n'>(0minus.wrap1);# but the other side sizes it: 0 minus.wrap 1 wraps in uint64std::print.useful['b'," ",'c'," ",0minus.wrap'w'," ",'d',newln];}