pub fn serialize<S, T, Seed>(
    self_: &T,
    serializer: S,
    seed: &Seed
) -> Result<S::Ok, S::Error>
where S: Serializer, T: ?Sized + Shared + Deref, T::Target: SerializeState<Seed>, Seed: AsRef<NodeToId>,