code: func (wg *SafeWaitGroup) Add(delta int) error {
  	wg.mu.RLock()
  	defer wg.mu.RUnlock()
  	if wg.wait && delta > 0 {
  		return fmt.Errorf("add with positive delta after Wait is forbidden")
  	}
  	wg.wg.Add(delta)
  	return nil
  }
docs: // Add adds delta, which may be negative, similar to sync.WaitGroup.
  // If Add with a positive delta happens after Wait, it will return error,
  // which prevent unsafe Add.