Allow omitting blocks in chained 'if'.
Split typechecking into submodules.
Split resolution into submodules.
Split tokenization into submodules.
Split parsing into submodules.
Refactor in tokenizer.
Split interpretation into submodules.