def -(other_set)
      self.class.new.tap do |memo|
        each do |a|
          b = other_set.assoc(a.first)
          next if b
          memo << a
        end
      end
    end
def -(other_set)
      self.class.new.tap do |memo|
        each do |a|
          b = other_set.assoc(a.first)
          next if b
          memo << a
        end
      end
    end
Array Difference - Returns a new set that is a copy of the original set,
 removing any items that also appear in +other_set+. The order is preserved
 from the original set.

   set = Sorted::Set.new(['email', 'desc'])
   other_set = Sorted::Set.new(['phone', 'asc'])
   set - other_set #=> #<Sorted::Set:0x007fafde1ead80>