api-tools-0.8.0.1: DSL for generating API boilerplate and docs

When a JSON value has been deserialised from CBOR, the representation may need some modifications in order to match the result of toJSON on a Haskell datatype. In particular, Aeson's representation of Maybe does not round-trip (because Nothing is encoded as Null and Just x as toJSON x), so CBOR uses a different representation (as an empty or 1-element list).