code: def is_superset_of(self, other, soft_combinator=False):
          
          # Combinators must match, OR be compatible -- space is a superset of >,
          # ~ is a superset of +
          if soft_combinator and self.combinator == ' ':
              combinator_superset = True
          else:
              combinator_superset = (
                  self.combinator == other.combinator or
                  (self.combinator == ' ' and other.combinator == '>') or
                  (self.combinator == '~' and other.combinator == '+'))
  
          return (
              combinator_superset and
              set(self.tokens) <= set(other.tokens))
docs: Return True iff this selector matches the same elements as `other`,
          and perhaps others.
  
          That is, ``.foo`` is a superset of ``.foo.bar``, because the latter is
          more specific.
  
          Set `soft_combinator` true to ignore the specific case of this selector
          having a descendent combinator and `other` having anything else.  This
          is for superset checking for ``@extend``, where a space combinator
          really means "none".