code: func getPoolConfig(passedConfig *PoolConfig) *PoolConfig {
  	if passedConfig == nil {
  		return DefaultPoolConfig
  	}
  	finalConfig := &PoolConfig{}
  	(*finalConfig) = (*passedConfig)
  	if passedConfig.NumWorkers == 0 {
  		finalConfig.NumWorkers = DefaultPoolConfig.NumWorkers
  	}
  	if passedConfig.BatchSize == 0 {
  		finalConfig.BatchSize = DefaultPoolConfig.BatchSize
  	}
  	if passedConfig.MinWait == 0 {
  		finalConfig.MinWait = DefaultPoolConfig.MinWait
  	}
  	if passedConfig.StaleTimeout == 0 {
  		finalConfig.StaleTimeout = DefaultPoolConfig.StaleTimeout
  	}
  	return finalConfig
  }
docs: // getPoolConfig replaces any zero values in passedConfig with the default values.
  // If passedConfig is nil, every value will be set to the default.