Added a shitload of extra tests for semantic checks.
Basic working typechecker & tests.
Cleanup with Jimi.
Merge branch 'kemi' -- Progress