refactoring. parsing and type checking type annotations, although no contexts yet