Require LEXER to have a stream argument.
Don't use standard input.
Use cl-parallel's PAR-MAP.