Updated TypeChecker