code: func (f *Value) Initialize() (interface{}, error) {
  	value, err := f.initializer()
  	f.set(value, err)
  	f.Unlock()
  
  	return value, err
  }
docs: // Initialize initializes the future value.
  // This function must be called only once. Subsequent
  // calls may result in deadlock.