pub fn serialize<S, T, Seed, Seed2>(
    symbol: &T,
    serializer: S,
    seed: &Seed
) -> Result<S::Ok, S::Error>where
    S: Serializer,
    T: SerializeState<Seed2>,
    Seed: Borrow<Seed2>,