Stream-based Lexer
Fix makeId, makeStr and makeSubstr
Add inner String substitution
Fix inner String substitution termination
Merge makeRawStr to makeStr
Fix comma and right bracket detection in makeStr
Fix line increment in step
Fix line counting
Fix column counting
Handcoded Parser
Lexer uses State monad
Introduce Mu and Free monad catamorphism
Add Position to AST
Use Church-encoded Free monad
Eject APROP from AST
New bottom-up type inferencer
Wire new type inferencer
Better code formatting
Discard old files
Implement proper exception handling + config value parsing