finished type checker, added many type checker tests