docs: function attr_with_expire_index(name, value) {
    var __name__ = '__' + name + '__';
  
    // set underlying value
    prop(Base.prototype, __name__, value, { writable: true });
  
    // provide getters/setter
    Object.defineProperty(Base.prototype, name, {
      get: function () {
        return this[__name__];
      },
      set: function (val) {
        this.expireIndex();
        this[__name__] = val;
      }
    });
  }