while loops are 1:1; c-style and range for-each both desugar to a `{ var; while { body; iter; } }` block. <<< main = fun () { var i int = 0 while i < 10 { i++ } for j int = 0, j < 5, j++ { var k int = j } for r int = 0..3 { var s int = r } } >>> #include "core.c" void catskill_main(void); void catskill_main(void) { integer i = 0; while (i < 10) { i = i + 1; } { integer j = 0; while (j < 5) { integer k = j; j = j + 1; } } { integer r = 0; while (r < 3) { integer s = r; r = r + 1; } } } #include "runtime.c"