They are in the right order such that they will parse correctly. For example, comparison can be `contains` which is also a valid identifier so it has to parse comparisons first.

As for the `then`s, there are just so many cases and the body of the cases is so small that splitting it up might make it harder to read.