Would be even better if `-reduce` was right-associative. Then you could write the "tag symbol" on the right as one would expect. But that would require adding `-reduce-right` or something like that (a.k.a. `foldr` in haskell, the `-reduce` here is `foldl`)

Of course right associative reduce would use linear memory for the stack, while the left associative is constant in that respect (it eats the accumulator right away). Though sometimes it's useful, and the stack isn't too much of a problem these days. Do you think it would be worth to include?