pub fn serialize<K, V, S>(
    data: &[(K, V)],
    serializer: S
) -> Result<S::Ok, S::Error>where
    S: Serializer,
    K: Serialize,
    V: Serialize,