use literate Haskell

When there's more comments than code it makes sense to use literal Haskell instead.  The source file is preprocessed by the `unlit` script which simply converts all text to comments and all lines prefixed with `>` to code.
There is another error when running it on Mac-sed: `bad flag in substitute command: '}'`. It works if you install gnu-sed, though. So either something other than sed should be used, or there needs to be some kind of OS switch, or instructions for installing gnu-sed should be added to the readme.