Abstract over MonadIO
Fix GHC 7.6.3 build.
Fix warnings.
Bump version 0.3.0.1 --> 0.4.0.0
Add some Enum instances.
Arrange modules in alphabetical order in .cabal file.
Toy programs are not test suites.

I made them into executables that are only built when 'build-toys' flag is set.