anchor.diff:  %%====================================================================
   
   prop_basic_put() ->
  -    ?FORALL({WSeed, DWSeed,
  +    ?FORALL({PWSeed, WSeed, DWSeed,
                Objects, ObjectIdxSeed,
                VPutResp,
                Options0, AllowMult, Precommit, Postcommit}, 
  -            {w_dw_seed(), w_dw_seed(),
  +            {w_dw_seed(), w_dw_seed(), w_dw_seed(),
                fsm_eqc_util:riak_objects(), fsm_eqc_util:largenat(),
                vnodeputresps(),
                options(),bool(), precommit_hooks(), postcommit_hooks()},
       begin
           N = length(VPutResp),
  +        {PW, RealPW} = w_dw_val(N, 1000000, PWSeed),
           {W, RealW} = w_dw_val(N, 1000000, WSeed),
           {DW, RealDW}  = w_dw_val(N, RealW, DWSeed),
   
  
positive.code: -define(REQ_ID, 1234).
  -define(DEFAULT_BUCKET_PROPS,
          [{chash_keyfun, {riak_core_util, chash_std_keyfun}},
           {w, quorum},
           {dw, quorum}]).
  -define(HOOK_SAYS_NO, <<"the hook says no">>).
  
negative.code: %%====================================================================
  
  %% Work out the expected return value from the FSM and the expected postcommit log.
  expect(H, N, PW, RealPW, W, RealW, DW, EffDW, Options, Precommit, Postcommit, Object, PL2) ->
      ReturnObj = case proplists:get_value(returnbody, Options, false) of
                      true ->
                          Object;
                      false ->
                          noreply
                  end,
      NumPrimaries = length([xx || {_,primary} <- PL2]),
      UpNodes =  length(PL2),
      MinNodes = erlang:max(1, erlang:max(RealW, EffDW)),
      ExpectResult = 
          if
              PW =:= garbage ->
                  {error, {pw_val_violation, garbage}};
  
              W =:= garbage ->
                  {error, {w_val_violation, garbage}};
  
              DW =:= garbage ->
                  {error, {dw_val_violation, garbage}};
  
              RealPW > NumPrimaries ->
                  {error, {pr_val_unsatisfied, RealPW, NumPrimaries}};
  
              RealW > N orelse EffDW > N ->
                  {error, {n_val_violation, N}};
  