docs: def run(self, stim, merge=True, **merge_kwargs):
          ''' Executes the graph by calling all Transformers in sequence.
  
          Args:
              stim (str, Stim, list): One or more valid inputs to any
                  Transformer's 'transform' call.
              merge (bool): If True, all results are merged into a single pandas
                  DataFrame before being returned. If False, a list of
                  ExtractorResult objects is returned (one per Extractor/Stim
                  combination).
              merge_kwargs: Optional keyword arguments to pass onto the
                  merge_results() call.
          '''
          results = list(chain(*[self.run_node(n, stim) for n in self.roots]))
          results = list(flatten(results))
          self._results = results  # For use in plotting
          return merge_results(results, **merge_kwargs) if merge else results