Introduce $, which will contain eof, any, char, and tamsin.
Massive refactoring of the spec.  Get all tests passing again.