Create a new Encoder by applying a function to a value of type B before encoding as an
A.
Create a new Encoder by applying a function to the output of this one.
A subtype of
Encoderthat statically verifies that the instance encodes either a JSON array or an object.