code: func (e *Runner) visitAll(fn func(*phaseRunner) error) error {
  	for _, currentRunner := range e.phaseRunners {
  		if err := fn(currentRunner); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // visitAll provides a utility method for visiting all the phases in the workflow
  // in the execution order and executing a func on each phase.
  // Nested phase are visited immediately after their parent phase.