lexer_fun now produces WhitespaceT