However it sounds to be not the "right" place to put the fix. The BOM should be removed before passing to the lexer, but get_tokens_unprocessed is call after the lexer tokenized the input. Also it is bad idea to put the fix in all lexer classes.
I know it's a hack; ordinarily I'd have ignored the issue, except that BOM-prefixed files of Lasso are common since earlier versions of it required the BOM to read a file as UTF-8. Hopefully this gets fixed upstream so I can take that line out.