C++ definitely has a type when it comes to collections.
std::set, std::multiset, std::unordered_set, std::unordered_multiset, std::map, std::multimap, std::unordered_map, std::unordered_multimap
Rarely need more than unordered_set/unordered_map but it's neat having the rest.