Fixed up type checking errors

Now offers suggestions/somewhat improved error messages for all syntax errors thrown by the type checking and type propagation stages