anchor.diff:  maybe_add_robj(Expect, _Robj) ->
       Expect.
   
  +precommit_noop(Obj) -> % No-op precommit, no changed
  +    r_object = element(1, Obj),
  +    Obj.
  +
  +precommit_fail(_Obj) -> % Pre-commit fails
  +    fail.
  +
  +precommit_crash(_Obj) ->
  +    Ok = ok,
  +    Ok = precommit_crash.
  +
   -endif. % EQC
  
positive.code:         false -> {newobj, ResObj}
      end.
  
  expect(H, N, W, DW, AllowMult, Options) ->
      ReturnObj = case proplists:get_value(returnbody, Options, false) of
                      true ->
                          expect_object(H, W, DW, AllowMult);
                      false ->
                          noreply
                  end,
      case {H, N, W, DW} of
          %% Workaround for bug transitioning from awaiting_w to awaiting_dw
          {[{w,_,_},{dw,_,_},{w,_,_},{fail,_,_}], 2, 2, 1} ->
              {error, timeout};
          {[{w,_,_},{dw,_,_},{w,_,_},{{timeout,_},_,_}], 2, 2, 1} ->
              {error, timeout};
          _ ->
              HNoTimeout = filter_timeouts(H),
              expect(HNoTimeout, {H, N, W, DW, 0, 0, 0, ReturnObj})
      end.
  
  expect([], {_H, _N, _W, _DW, _NumW, _NumDW, _NumFail, _RObj}) ->
  
negative.code:         Res = fsm_eqc_util:wait_for_req_id(?REQ_ID),
          H = get_fsm_qc_vnode_master:get_reply_history(),
  
          Expected = expect(H, N, W, DW, AllowMult, Options, Precommit),
          ?WHENFAIL(
             begin
                 io:format(user, "NodeStatus: ~p\n", [NodeStatus]),
  