# File lib/sass/selector/simple_sequence.rb, line 64
      def do_extend(extends, seen = Set.new)
        extends.get(members.to_set).map do |seq, sels|
          # If A {@extend B} and C {...},
          # seq is A, sels is B, and self is C

          self_without_sel = self.members - sels
          next unless unified = seq.members.last.unify(self_without_sel)
          [sels, seq.members[0...-1] + [unified]]
        end.compact.map do |sels, seq|
          seq = Sequence.new(seq)
          seen.include?(sels) ? [] : seq.do_extend(extends, seen + [sels])
        end.flatten.uniq
      end