AHashSet is an unordered collection.
BHashSet requires that each element be unique as determined by either a supplied EqualityComparer or the default EqualityComparer
COperations on sets (Union, Intersection, etc) always create new result sets
DHashSet provides functionality for "conceptual sets" where the rules for membership can be specified without actually creating all of the items.