For readability, `then` allows splitting with newlines very long conditional expressions, without having to wrap the condition in parentheses:
if x + y + z > a
or verylongconditionalhere ()
or anotherverylongconditionalhere ()
then
...
after `if` and `elseif` the parser simply goes on until it finds `then`.
This is something I don't see a lot of people do. I've tended to do
and I'm still a little irked it works so well, the only alternative would be for the language to have labeled blocks. but that might be too terseAgreed, it keeps the parser fast as well because it is a lot more clear when the boolean statement ends and the code block begins. You either need parentheses, `then` or brackets around the block to make parsing clearly defined.