code: func (o *OsFetcher) Get(key string) (val string, ok bool) {
  	o.vmu.Lock()
  	defer o.vmu.Unlock()
  
  	if i, ok := o.vals[key]; ok {
  		if i == nil {
  			return "", false
  		}
  		return *i, true
  	}
  
  	v, ok := os.LookupEnv(key)
  	if ok {
  		o.vals[key] = &v
  	} else {
  		o.vals[key] = nil
  	}
  
  	return v, ok
  }
docs: // Get returns the value associated with the given key as stored in the local
  // cache, or in the operating system's environment variables.
  //
  // If there was a cache-hit, the value will be returned from the cache, skipping
  // a check against os.Getenv. Otherwise, the value will be fetched from the
  // system, stored in the cache, and then returned. If no value was present in
  // the cache or in the system, an empty string will be returned.
  //
  // Get is safe to call across multiple goroutines.