def do_extend(extends, parent_directives, seen = Set.new)
extended_not_expanded = members.map do |sseq_or_op|
next [[sseq_or_op]] unless sseq_or_op.is_a?(SimpleSequence)
extended = sseq_or_op.do_extend(extends, parent_directives, seen)
choices = extended.map {|seq| seq.members}
choices.unshift([sseq_or_op]) unless extended.any? {|seq| seq.superselector?(sseq_or_op)}
choices
end
weaves = Sass::Util.paths(extended_not_expanded).map {|path| weave(path)}
Sass::Util.flatten(trim(weaves), 1).map {|p| Sequence.new(p)}
end