Lexer changes

Mostly minor things that rebasing is becoming painful.
`tok = if ...`