Split the set type into a generic interface and an implementation.
Add a simple set implementation that doesn't keep track of item order.