Add a Data.Text JSON instance to make it possible to serialize and deserialize data types containing Data.Text strings. Currently only Strings are supported which makes it cumbersome to use Data.Text strings together with the json library. This change adds a dependency to the 'text' library which is nowadays considered stable & the de facto way to work with unicode strings.
Use a separate class to specify how to convert values of various Haskell types onto JSON object keys.
The reason JSON implements its own "Result" monad is exactly to avoid this dependency.
…ON dicts.) - drop non-lowering of Maybe and Either construcctors, now: Nothing/Just and Left/Right.
… to a Float (only) when serialized