For some errors the lexer will unwind so we need to handle that in addition to handling `token::Unknown`.