anchor.diff:      end;
   postcondition(_From, _To, _S,
                 {call, _M, put, [_Bucket, _Key, _IndexEntries, _Val, _BeState]}, {R, _RState}) ->
  +    R =:= ok orelse R =:= already_exists;
  +postcondition(_From, _To, _S,
  +              {call, _M, async_put, [_Bucket, _Key, _Val, _Backend, _BeState]}, {R, _RState}) ->
       R =:= ok orelse R =:= already_exists;
   postcondition(_From, _To, _S,
                 {call, _M, delete, _}, {R, _RState}) ->
  
positive.code:     {ok, S} = Backend:start(Partition, Config),
      S.
  
  drop(Backend, State) ->
      State1 = case Backend:drop(State) of
                   {ok, NewState} ->
  
negative.code: next_state_data(_From, _To, S, _R, {call, _M, put, [Bucket, Key, IndexSpecs, Val, _]}) ->
      S#qcst{d = orddict:store({Bucket, Key}, Val, S#qcst.d),
             i = update_indexes(Bucket, Key, IndexSpecs, S#qcst.i)};
  next_state_data(_From, _To, S, _R, {call, _M, async_put, [Bucket, Key, Val, _Backend, _BeState]}) ->
      S#qcst{d = orddict:store({Bucket, Key}, Val, S#qcst.d)};
  next_state_data(_From, _To, S, _R, {call, _M, delete, [Bucket, Key|_]}) ->
      D1 = orddict:erase({Bucket, Key}, S#qcst.d),
      D2 = try
  