pub trait Encoder {
fn encode<'a>(&self, env: Env<'a>) -> Term<'a>;
}
impl<A: Encoder, B: Encoder, C: Encoder, D: Encoder, E: Encoder, F: Encoder> Encoder for (A, B, C, D, E, F)
impl<A: Encoder, B: Encoder, C: Encoder, D: Encoder, E: Encoder, F: Encoder, G: Encoder> Encoder for (A, B, C, D, E, F, G)