Add `assert` builtin
Fix #1 by adding a type field to expressions

Also, now Hindley-Milner.Analyse annotates AST with types for every subexpression
Fix execution of programs that was broken since last commit
Refactor execution and evaluation and add another faulty example of
do-expression usage
It seems that this probably fixes errors when mixing do-expressions and pattern-matching
Merge branch 'typed_ast'

Conflicts:
	sources/Builtins.pas
	sources/Executor.pas
Post-merge cleanups