If an object added to a set becomes modified and added again it will be in the set twice.
A fix to this would be to add "@hash.rehash" in "def add(o)" and "def merge(enum)". Though
this might minder the speed advantage of set.
OTOH Set becomes quite useless if it is impossible to add without checking first if the element already contained. |