Note that the polymorphic sets (or maps) are less statically-safe than their functorized counterpart, because they are parametrized over their comparison function at creation time
The only point in time I've had troubles is when you have a map where its values and keys range over a type that can recursively contain that map of the same type. This required a polymorphic compare (from Core) to pull off.