using

open fun <T> using(serializer: ThrowingFunction<T, Array<Byte>>, deserializer: ThrowingFunction<Array<Byte>, T>): Serde<@NonNull T>

Like using, using content-type application/octet-stream.


open fun <T> using(    contentType: String,     serializer: ThrowingFunction<T, Array<Byte>>,     deserializer: ThrowingFunction<Array<Byte>, T>): Serde<@NonNull T>

Create a Serde from serializer/deserializer lambdas, tagging with contentType. Before invoking the serializer, we check that value is non-null.