all tests pass
clean up basic types, move out of parser