Implement 'while'
Support anonymous functions.
Supported 'void' in function argument list.
Support automatic function return types.
Fix return type of function call exprs.
Better call type fix.
Remove dead code.
Fix crash on malformed variable definition.
Be less fatal about some non-syntax errors.
Formatting.
Performance improvements in expr memory allocation.
Further performance improvements.
Implement :+=, :-=, :*=, :/= operators.
Implement pattern matching optimisation.

We first convert 'i :+= n' to 'i := i + n'.  Then, we match on any expr that
looks like 'i := i OP n', and reduce it to an in-place incr/decr/mult/div that
doesn't require any object allocation.  This is approximately a 100%
performance improvement in a tight loop.