Quick sketch of `DecodeJson` generation.
Added coproduct generics