A final, more speculative change: for loops are named, so you can break and continue multiple loops at once using the name of the loop variable. Both these fragments have identical output:
(up i 0 3
(up j 0 3
(if (> j i) (break))
(prn i " " j)))
(up i 0 3
(up j 0 3
(if (> j i) (continue-i))
(prn i " " j)))