Hide lexer implementation details!