anchor.diff:      S#qcst{s=R};
   next_state_data(_From, _To, S, _R, {call, _M, put, [Bucket, Key, [], Val, _]}) ->
       S#qcst{d = orddict:store({Bucket, Key}, Val, S#qcst.d)};
  -next_state_data(_From, _To, S, _R, {call, _M, delete, [Bucket, Key, _]}) ->
  +next_state_data(_From, _To, S, _R, {call, _M, delete, [Bucket, Key, [], _]}) ->
       S#qcst{d = orddict:erase({Bucket, Key}, S#qcst.d)};
   next_state_data(_From, _To, S, R, {call, ?MODULE, drop, _}) ->
       S#qcst{d=orddict:new(), s=R};
  
positive.code:             {ok, Val} =:= Res
      end;
  postcondition(_From, _To, _S,
                {call, _M, put, [_Bucket, _Key, _Val, _BeState]}, {R, _RState}) ->
      R =:= ok orelse R =:= already_exists;
  postcondition(_From, _To, _S,
                {call, _M, delete,[_Bucket, _Key, _BeState]}, {R, _RState}) ->
      R =:= ok;
  postcondition(_From, _To, S,
                {call, _M, fold_buckets, [_FoldFun, _Acc, _Opts, _BeState]}, {ok, R}) ->
  
negative.code:     [
       {history, {call, Backend, put, [bucket(), key(), [], val(), State]}},
       {history, {call, Backend, get, [bucket(), key(), State]}},
       {history, {call, Backend, delete, [bucket(), key(), [], State]}},
       {history, {call, Backend, fold_buckets, [fold_buckets_fun(), [], [], State]}},
       {history, {call, Backend, fold_keys, [fold_keys_fun(), [], [], State]}},
       {history, {call, Backend, fold_objects, [fold_objects_fun(), [], [], State]}},
  