newtype HashSet a
HashSet a is a set with elements of type
a needs to be
Hashable for most operations.
(Eq a) => Eq (HashSet a)
(Hashable a) => Hashable (HashSet a)
(Hashable a) => Semigroup (HashSet a)
(Hashable a) => Monoid (HashSet a)
(Show a) => Show (HashSet a)
Foldableinstance is best used with a commutative function/
Monoid, since hash sets do not guarantee any particular order.
Construct a new set by applying a function to each element of an input set.
If distinct inputs map to the same output, this changes the
cardinality of the set, therefore hash set is not a
Also, the order in which elements appear in the new set is
entirely dependent on the hash function for type