A number of improvements including: leveraging q-io, breaking http into its own module, functions which previously returned option which were doing so for type checking no longer act this way, encode sorting, leverage validation monad.