working on spankin new type checker