Lots of typechecker improvements
Use stdout for tsc 1.1, better error messages
Use .keys in traverse() rather than VisitorKeys