code: func (r *Runner) RunOne(f func() error) <-chan error {
  	r.init()
  
  	errC := make(chan error)
  	r.workC <- WorkItem{
  		F:     f,
  		ErrC:  errC,
  		After: func() { close(errC) },
  	}
  	return errC
  }
docs: // RunOne executes a single task in the Runner, returning with a channel that
  // can be used to reap the result of that task.
  //
  // The returned error channel must be consumed, or it can block additional
  // functions from being run from gen. A common consumption function is
  // errors.MultiErrorFromErrors, which will buffer all non-nil errors into an
  // errors.MultiError. Other functions to consider are Must and Ignore (in this
  // package).
  //
  // If the Runner has been closed, this will panic with a reference to the closed
  // dispatch channel.