The associative containers and the flat maps and sets all have:
constexpr size_type erase(const key_type& x);
template<class K> constexpr size_type erase(K&& x);
But the unordered containers have k and x for the same functions:
constexpr size_type erase(const key_type& k);
template<class K> constexpr size_type erase(K&& x);
This seems unnecessarily inconsistent. Either the unordered should use k for both (to be locally consistent), or use x for both (to be globally consistent).