code: func (p *workerPool) workResults() ([]interface{}, []error) {
  	result := []interface{}{}
  	errors := []error{}
  
  	for _, eachResult := range p.Tasks {
  		if eachResult.Result.Error() != nil {
  			errors = append(errors, eachResult.Result.Error())
  		} else {
  			result = append(result, eachResult.Result.Result())
  		}
  	}
  	return result, errors
  }
docs: // HasErrors indicates whether there were any errors from tasks run. Its result
  // is only meaningful after Run has been called.