6) /// Equality comparer used for HashSet. Used to compare two words in the hash set and detect collisions.
7) /// This is needed because we are making HashSet with a custom type and .NET will use expensive
8) /// procedure to determine a unique hash (by treating it as an Object instance) if this is not provided.