look i know no one really pays attention to this type but should Set<T> have the ability to test if at least one element is in self that is not in the other set? This is basically set.subtract(other).isEmpty except the result set is not needed.

isSubset calls _comapreSet, and _comapreSet returns immediately when find a lhs element which is not contained in rhs.
The worst case is when lhs is a subset of rhs but it is necessary cost I think.

On the other hand, any subtracts try to remove all elements in other from self.

I don't know which is faster setA.subtracting(setB).isEmpty or setA.isSubset(of: setB).
Can you explain why subtract base algorithm is more efficient?