code: def _iter(self, with_final=True):
          
          # MUST have called fit first
          stop = len(self.steps_)
          if not with_final:
              stop -= 1
  
          for idx, (name, trans) in enumerate(islice(self.steps_, 0, stop)):
              yield idx, name, trans
docs: Generate (name, trans) tuples