Lexer changes

Mostly minor things that rebasing is becoming painful.
Yes because `1. ` is valid.