Cleanup

Expanded confusing test + implicit value change. Sure, they can be
together, but why?
Moved all error message assignments right before returning their tokens
Always make flex state change assignments happen at beginning of their
block
Removed impossible path in sl_comment rules