code: def set_seq2(self, b):
          
          if b is self.b and hasattr(self, 'isbjunk'):
              return
          self.b = b
          if not isinstance(self.a, list):
              self.a = list(self.a)
          if not isinstance(self.b, list):
              self.b = list(self.b)
  
          # Types must be hashable to work in the c layer.  This check lines will
          # raise the correct error if they are *not* hashable.
          [hash(x) for x in self.a]
          [hash(x) for x in self.b]
  
          self.matching_blocks = self.opcodes = None
          self.fullbcount = None
          junk, popular = _cdifflib.chain_b(self)
          assert hasattr(junk, '__contains__')
          assert hasattr(popular, '__contains__')
          self.isbjunk = junk.__contains__
          self.isbpopular = popular.__contains__
docs: Same as SequenceMatcher.set_seq2, but uses the c chainb
          implementation.