code: function construct_store(params) {
          const store = this;
          const { tree, operations } = validate_params(params);
          const struct = store.initialize_struct({ store, tree });
  
          const fetch_dict = operations ? { ...operations.fetch } : {};
          fetch_dict[undefined] = store.perform_default_fetch;
          store.fetch = create_method({
              store,
              method: 'fetch',
              struct,
              op_dict: fetch_dict,
          });
  
          const mutate_dict = operations ? { ...operations.mutate } : {};
          store.mutate = create_method({
              store,
              method: 'mutate',
              struct,
              op_dict: mutate_dict,
          });
  
          return Object.freeze(store);
      }
docs: -----------