public boolean equals(Object obj){
	if(this == obj) return true;
	if(!(obj instanceof Set))
		return false;
	Set m = (Set) obj;

	if(m.size() != count() || m.hashCode() != hashCode())
		return false;

	for(Object aM : m)
		{
		if(!contains(aM))
			return false;
		}
//	for(ISeq s = seq(); s != null; s = s.rest())
//		{
//		if(!m.contains(s.first()))
//			return false;
//		}

	return true;
}