Some rudimentary tests for sensible error reporting.
Checkpoint -- scanner.peek(1) is not what I meant...
Add .first() to Scanner things to fix the error reporting tests.