Changed TypeChecker to type annotate, code is ugly but works atm.