docs: function getPrototype(model) {
    if (model.__recordPrototype) return model.__recordPrototype;
  
    const mrProto = Object.assign({}, proto);// eslint-disable-line no-use-before-define
    const extraProperties = {};
    Object.keys(model.def.fields).forEach((fieldName) => {
      extraProperties[fieldName] = {
        enumerable: true,
        get() {
          const value = getf.call(this, fieldName);
          return value;
        },
        set(value) {
          return setf.call(this, fieldName, value);
        },
      };
    });
    Object.defineProperties(mrProto, extraProperties);
    model.__recordPrototype = mrProto;
    return mrProto;
  }