Create an empty set.
a -> Set a
Create a set with one value.
a -> Set a -> Set a
Insert a value into a set.
Remove a value from a set. If the value is not found, no changes are made.
a -> Set a -> Bool
Determine if a value is in a set.
Set a -> Set a -> Set a
Get the union of two sets. Keep all values.
Get the intersection of two sets. Keeps values that appear in both sets.
Get the difference between the first set and the second. Keeps values that do not appear in the second set.
(a -> b) -> Set a -> Set b
Map a function onto a set, creating a new set with no duplicates.
(a -> b -> b) -> b -> Set a -> b
Fold over the values in a set, in order from lowest to highest.
Fold over the values in a set, in order from highest to lowest.
Set a -> [a]
Convert a set into a list.
[a] -> Set a
Convert a list into a set, removing any duplicates.