if you have a flat_map<const K, const V>, then it seems flat_map<const K, const V>::__pair_type will be std::pair<K, V>, leaving the type with no conversion to std::pair<const K, const V> despite that being its value_type.
See https://github.com/tzlaine/flat_map/blob/master/implementation/flat_map#L50