# Functions
NewSet constructs a new set whose element type knows how to calculate its own unique keys, by implementing [UniqueKeyer] of itself.
NewSetCmp constructs a new set for any comparable type, using the built-in == operator as the definition of element equivalence.
NewSetFunc constructs a new set with the given "key function".
# Interfaces
UniqueKey represents a value that is comparable and uniquely identifies another value of type T.
A UniqueKeyer is a type that knows how to calculate a unique key itself.