code: func (w *Wrapped) done(err error) {
  	w.once.Do(w.init)
  	w.cancelLock.Lock()
  
  	// Set the result
  	w.resultErr = err
  	w.resultSet = true
  
  	// Notify any waiters
  	w.cancelCond.Broadcast()
  
  	// Unlock since the next call can be blocking
  	w.cancelLock.Unlock()
  
  	// Notify any channel listeners
  	w.errCh <- err
  }
docs: // done marks this wrapped function as done with the resulting value.
  // This must only be called once.