anchor.diff:  -spec read(client_key()) -> {ok, client_value()} | {fail, not_found}.
   read(Key) ->
       read_helper(Key, fun ?MODULE:rf_val/1).
  +
  +%% @doc Partially read a JSON object stored at a given key.
  +-spec fetch(client_key(), path()) ->
  +    {ok, client_value()} | {fail, not_fount} | {error, any()}.
  +fetch(Key, Path) ->
  +    read_helper(Key, get_rf_fetch_fun(Path)).
   
   %% @doc Write full JSON object to a given key.
   %% Returns:
  
positive.code:         ?SCALARIS_RECV({qread_done, _ReqId, _NextFastWriteRound, _OldWriteRound, Value},
                         case Value of
                             ?NON_EXIST_VAL -> {fail, not_found};
                             _ -> {ok, Value}
                             end
                        )
  
negative.code:             ?SCALARIS_RECV({qread_done, _ReqId, _NextFastWriteRound, _OldWriteRound, Value},
                              case Value of
                                  ?NON_EXIST_VAL -> {fail, not_found};
                                  {error, Reason} -> {error, Reason};
                                  _ -> {ok, Value}
                              end
                            )
          end
      end.
  
  -spec write_helper(client_key(), client_value(), prbr:write_filter()) ->
      ok | {fail | error, any()}.
  