Type Checker

Completed up through the Type Checking phase of the project