moved type literal evaluation to be lexed before identifiers in scanner. This is the right order of evaluation, do not change it