anchor.diff:      %% check all combinations of abort / prepared and the corresponding
       %% tx decisions
       %% modify DB and then do operations on the changed DB
  -    [abort_prepared(0, read_commit, [MC1, MC2, MC3, MC4],
  -                    calc_rc_outcome([MC1, MC2, MC3, MC4]))
  +    [ begin
  +          Key = init_new_db_key("abort_prepared_rc"),
  +          abort_prepared(Key, read_commit, [MC1, MC2, MC3, MC4],
  +                         calc_rc_outcome([MC1, MC2, MC3, MC4]))
  +      end
        || MC1 <- causes(), MC2 <- causes(),
           MC3 <- causes(), MC4 <- causes()],
       ok.
  
positive.code:     %% tx decisions
      %% modify DB and then do operations on the changed DB
      %% quorum reads should alway succeed
      [abort_prepared(0, read, [MC1, MC2, MC3, MC4], ok)
       || MC1 <- causes(), MC2 <- causes(),
          MC3 <- causes(), MC4 <- causes()],
      ok.
  
negative.code: 
      Outcome =
          case Op of
              write -> ?CS_API:write(Key,
                                       io_lib:format("~p with ~p", [Op, PreOps]));
              read ->
                  case ?CS_API:read(Key) of
                      {fail, Reason} -> {fail, Reason};
                      _ -> ok
                  end;
              read_commit ->
                  case ?CS_API:process_request_list(?CS_API:new_tlog(),
                                                    [{read, Key}, {commit}]) of
                      %% cs_api
                      {_TLog, {results, [_, {commit, fail, {fail, abort}}]}} -> {fail, abort};
                      {_TLog, {results, [_, {commit, ok, _}]}} -> ok;
  