bit of work on the typecheckers
merged from master