```c++ tsl::sparse_map<int, std::string> m; for (auto &it : m) { std::string &value = it.second; } ``` This fails with `tsl` but works with `std::unordered_map`. This is documented in README.md but there doesn't seem to be anything making this impossible in principle.