Why doesn't this work?
var x: i64 = 10;
if (x > 5)
x = 99;
No braces. Our language requires if (x > 5) { x = 99; }. The parser looks for { after the condition. No braces, no party. This is a deliberate choice: it keeps the grammar simple, makes debugging easier (you can set a breakpoint inside the {}), and -- crucially -- makes the compiler simpler. When we emit WAT, we just emit if/end blocks. No ambiguity about what belongs to which branch.