code: func (w *Wrapped) Wait() error {
  	w.once.Do(w.init)
  	w.cancelLock.Lock()
  	defer w.cancelLock.Unlock()
  
  	// If we don't have a result yet, wait for that
  	if !w.resultSet {
  		w.cancelCond.Wait()
  	}
  
  	// Return the result
  	return w.resultErr
  }
docs: // Wait waits for the completion of the wrapped function and returns the result.
  //
  // This can be called multiple times safely.