ProductDecoder
derive
ProductEncoder
derive
product
MkDecoder MkEncoder