BREAKING CHANGE: Lexer.rules object has been changed so it can be properly types. Some intermediate rules have been removed.