code: func (w *Value) Value() interface{} {
  	w.lock.Lock()
  	defer w.lock.Unlock()
  
  	// If we already have a value just return
  	for !w.valueSet {
  		// No value, setup the condition variable if we have to
  		if w.cond == nil {
  			w.cond = sync.NewCond(&w.lock)
  		}
  
  		// Wait on it
  		w.cond.Wait()
  	}
  
  	// Return the value
  	return w.value
  }
docs: // Value returns the value that was set.