Work on the typechecker