Decoder["application/json".type, A]instances, an XML library could provide
Decoder["application/xml".type, A]instances, etc.
"application/json".typeis shorthand for
shapeless.Witness.`"application/json"`.Tor whatever technique you're using to refer to the type-level string.)
type CsvDecoder[A] = Decoder[CsvTag, A]and never even really expose
Decoderinstance for a give content type would have the same type, regardless of the library that implements it
import io.circe.generic.auto._or by defining an Argonaut instance, but that doesn't (and shouldn't have to) matter to my code.
Decoders to work from in-memory strings, or is that just a shortcut?
Nodeonce and evaluate my expressions on this
Decodertype class you have in mind, right?
Decoderbecomes generic, something like
Tis the content type and
Athe decoded type, I have no specific companion object in which to put these default instances
Decoder[Encoded, Decoded, Tag]), you already have pretty good odds that different libraries will use different