pub fn ordered_map<S, K, V>(
    value: &HashMap<K, V>,
    serializer: S
) -> Result<S::Ok, S::Error> where
    S: Serializer,
    K: Serialize + Ord,
    V: Serialize