I don't think the lexer reports cause-of-failure. Not sure if it should never fail or rather report errors (I'm tired rn). If the latter, it should probably use the ThrowsError type so it doesn't crash the repl.
You can trigger a lex error like so:
apollo> ~~
apollo: lexical error