code: def trace(self, s, active=None, verbose=False):
          
          if active is None:
              active = self.active
          return self.group.trace(s, active=active, verbose=verbose)
docs: Rewrite string *s* like `apply()`, but yield each rewrite step.
  
          Args:
              s (str): the input string to process
              active (optional): a collection of external module names
                  that may be applied if called
              verbose (bool, optional): if `False`, only output rules or
                  groups that matched the input
          Yields:
              a :class:`REPPStep` object for each intermediate rewrite
                  step, and finally a :class:`REPPResult` object after
                  the last rewrite