Assertion checks
Reorganized package structure
Refactored TypeCheckerHelper to TypeErrorFactory
cleanup
Merge branch 'master' into martyn82