Hi, John! Sorry for the late reply. I am not really familiar with this mail list discussions, so I have not seen your mails.
Regarding your question: > I guess what I'm struggling with is why you actually want to have different key and serdes for the same type I think good example will be (and it is actually what we do in ours project) using confluent schema registry in conjunction with kafka streams. Some models can be used as keys as well as values. When we define schema registry compatible serde, we have to specify is it for key or not. We can of course create two serdes for the same model, but in this case implicit semantic will not work because scala doesn’t know which implicit to pick. And things become even more complicated in case if you will try to derive your serdes (we derive serdes in ours project). One more thing: > every method in the streams-scala DSL. So far we've just changed org.apache.kafka.streams.scala.ImplicitConversions and org.apache.kafka.streams.scala.kstream.Materialized and it works for us. Also we did introduce default serdes for primitive types. Regards, Mykhailo