Builds a codec around a decoder that reports failure by returning null.
domain type to decode and encode.
serialized representation produced during encoding.
human readable identifier included in decode errors.
transformation applied when encoding I to O.
transformation that converts O back to I; returning null marks the input invalid.