anchor.diff:  next_state(S,_V,{call,_,_,_}) ->
       S.
   
  -precondition(#state{store=Store}, {call, ?MODULE, read, [Id, _Store]}) ->
  +precondition(#state{store=Store},
  +             {call, ?MODULE, read, [Id, _Threshold, _Store]}) ->
       case dict:find(Id, Store) of
           error ->
               %% Not declared.
  
positive.code: bind(Id, Value, Ets) ->
      derflow_ets:bind(Id, Value, Ets).
  
  read(Id, Ets) ->
      derflow_ets:read(Id, Ets).
  
  %% Initialize state
  initial_state() ->
      Ets = ets:new(derflow_ets_eqc, [set]),
      #state{ets=Ets, types=?LATTICES, store=dict:new()}.
  
  %% Generate commands
  command(#state{ets=Ets, types=Types, store=Store}) ->
  
negative.code: 
  -define(NUM_TESTS, 200).
  
  -define(ETS, derflow_ets_eqc).
  
  -define(QC_OUT(P),
          eqc:on_output(fun(Str, Args) -> io:format(user, Str, Args) end, P)).
  
  derflow_ets_test_() ->
      {timeout, 60,
       ?_assert(eqc:quickcheck(
                  eqc:numtests(?NUM_TESTS,
                               ?QC_OUT(?MODULE:prop_sequential())))),
      ?_assert(eqc:quickcheck(
                 eqc:numtests(?NUM_TESTS,
                              ?QC_OUT(?MODULE:prop_parallel()))))
      }.
  
  %% Generators
  declare(Type, Ets) ->
  