Use interpolation instead of string concatenation in a few places.
Move a couple of lexer functions to the bottom of the file (as per the parser).
Use hd() instead of Enum.first()/Enum.fetch() when possible.
A bunch of error message improvements.
Add parsing of identifier expressions, macro call expressions, and labelled blocks.