From time to time, I find myself in a situation where I need a class that mimics the behavior of a mathematical set: Elements are unordered An element can only appear once Sets can interact via Union, Intersect, Difference, IsSubset, IsSuperset, etc.