public MutableSet<UnsortedSetIterable<T>> powerSet() {
   return (MutableSet<UnsortedSetIterable<T>>) (MutableSet<?>) SetIterables.powerSet(this);
 }
 public <B> LazyIterable<Pair<T, B>> cartesianProduct(SetIterable<B> set) {
   return SetIterables.cartesianProduct(this, set);
 }
 public <R extends Set<T>> R symmetricDifferenceInto(SetIterable<? extends T> set, R targetSet) {
   return SetIterables.symmetricDifferenceInto(this, set, targetSet);
 }
 public boolean isProperSubsetOf(SetIterable<? extends T> candidateSuperset) {
   return SetIterables.isProperSubsetOf(this, candidateSuperset);
 }
 public <R extends Set<T>> R differenceInto(SetIterable<? extends T> subtrahendSet, R targetSet) {
   return SetIterables.differenceInto(this, subtrahendSet, targetSet);
 }
 public MutableSet<T> symmetricDifference(SetIterable<? extends T> setB) {
   return SetIterables.symmetricDifference(this, setB);
 }
 public MutableSet<T> difference(SetIterable<? extends T> subtrahendSet) {
   return SetIterables.difference(this, subtrahendSet);
 }
 public <R extends Set<T>> R intersectInto(SetIterable<? extends T> set, R targetSet) {
   return SetIterables.intersectInto(this, set, targetSet);
 }
 public MutableSet<T> intersect(SetIterable<? extends T> set) {
   return SetIterables.intersect(this, set);
 }
 public <R extends Set<T>> R unionInto(SetIterable<? extends T> set, R targetSet) {
   return SetIterables.unionInto(this, set, targetSet);
 }
 public MutableSet<T> union(SetIterable<? extends T> set) {
   return SetIterables.union(this, set);
 }