pub fn serialize<'a, S, T, V, Seed>(
    self_: &'a T,
    serializer: S,
    seed: &Seed
) -> Result<S::Ok, S::Error>
where S: Serializer, T: Deref<Target = [V]>, V: SerializeState<Seed>,