code: func (w *KeyedValue) setValue(k string, v interface{}) {
  	w.once.Do(w.init)
  
  	// Set the value, always
  	w.values[k] = v
  
  	// If we have a waiter, set it
  	if val, ok := w.waiters[k]; ok {
  		val.SetValue(v)
  		delete(w.waiters, k)
  	}
  }
docs: // setValue is like SetValue but assumes the lock is held.