code: func New(name string, initializer EntryInitializer, opts ...options.Opt) *Cache {
  	return NewWithData(name,
  		func(key Key, data interface{}) (interface{}, error) {
  			return initializer(key)
  		},
  		opts...,
  	)
  }
docs: // New creates a new lazy cache.
  // - name is the name of the cache and is only used for debugging purpose
  // - initializer is invoked the first time an entry is being cached
  // - opts are options for the cache. If any lazyref option is passed then a lazy reference
  //   is created for each of the cache entries to hold the actual value. This makes it possible
  //   to have expiring values and values that proactively refresh.