code: protected <T> void exposeToUser(Class<T> clazz) {
      Key<T> key = selectorKey(clazz);
  
      // Create a linked binding from the exposed annotation, then expose that link.
      if (selector != null)
        bind(key).to(clazz);
      expose(key);
    }
docs: Called by subclasses to expose any interface or API. You MUST expose
  via this method, in order for the correct datastore "selector" to be applied.
  For example, this allows RedisModule to expose the <code>Jedis</code> artifact
  without knowing the given database selector. In usage, then, a user can specify
  their own annotation as a database selector:
  
  <pre>
  {@literal @}Inject {@literal @}TemporaryStore Jedis jedis;
  
  {@literal @}Work {@literal @}TemporaryStore
  public void saveParameter() { .. }
  </pre>