pub trait Codex<A, B> { type Encoder: Encode<A, Output = B>; type Decoder: Decode<B, Output = A>; // Required methods fn encode(&self, values: A) -> B; fn decode(&self, values: B) -> A; }