anchor.diff:  
   -export([process_request/2]).
   
  +%% @doc Force sequential reads for blotter-style microbenchmarks
  +sequential_read([], _Tx) ->
  +    ok;
  +
  +sequential_read([Key | Keys], Tx) ->
  +    case pvc:read_keys(Key, Tx) of
  +        {error, _}=ReadError ->
  +            ReadError;
  +        {ok, _} ->
  +            sequential_read(Keys, Tx)
  +    end.
  +
   process_request('Ping', _) ->
       {ok, TxId} = pvc:start_transaction(),
       Commit = pvc:commit_transaction(TxId),
  
positive.code:     Updates = lists:map(fun(#{key := K, value := V}) -> {K, V} end, OpList),
  
      {ok, TxId} = pvc:start_transaction(),
      case pvc:read_keys(Keys, TxId) of
          {error, _}=ReadError ->
              ReadError;
          {ok, _} ->
              ok = pvc:update_keys(Updates, TxId),
              Commit = pvc:commit_transaction(TxId),
              case Commit of
  
negative.code: 
  process_request('ReadOnlyTx', #{keys := Keys}) ->
      {ok, TxId} = pvc:start_transaction(),
      case sequential_read(Keys, TxId) of
          {error, _}=ReadError ->
              ReadError;
          ok ->
              Commit = pvc:commit_transaction(TxId),
              case Commit of
                  ?committed ->
  