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