code: func WithIdleExpiration(value time.Duration) options.Opt {
  	return func(p options.Params) {
  		logger.Debug("Checking idleExpirationSetter")
  		if setter, ok := p.(idleExpirationSetter); ok {
  			setter.SetIdleExpiration(value)
  		}
  	}
  }
docs: // WithIdleExpiration sets the idle-time expiration for the reference.
  // The reference is expired after not being accessed for the given duration.