Hash sets can be currently be done using AutoHashMap(K, void) but I'd argue that an actual hash set type would make working with them much nicer. Using a hash map, you have to explicitly access the key member of an Entry to get the value (and I sometimes accidentally try value first instead since when used as a set, the keys are the values), pass {} as the value every time you add something, and you have member functions that are meaningless when using it as a set. With a HashSet type you wouldn't have that cruft, and specific operations for working with sets could even be added if desired.