Lexer changes

Mostly minor things that rebasing is becoming painful.
Couldn't most of these new `Ident`s be `Name`s?