Encoder and decoder library that transforms loosely typed element trees that are produced by JSON decoders into strongly typed objects. The design is based on the Elm JSON encoder/decoder.