Copied over from http://hackage.haskell.org/package/json-0.5. I don't recommend using this, it was an experiment.