anchor.diff:  %%
   %% N.B. This does not work with memory levels enabled as update_perform uses the
   %% snapshot state which is dumped.
  -%% JDM: Is this a limitation of the model, or hashtree?
  +
   update_snapshot(T, S) ->
       %% Snapshot the hashtree and store both states
       {SS, HT} = hashtree:update_snapshot(get(T)),
  
positive.code: start(Params, [TreeId | ExtraIds], Tree1OpenOrEmpty, Tree2OpenOrEmpty) ->
      {Segments, Width, MemLevels} = Params,
      %% Return now so we can store symbolic value in procdict in next_state call
      T1A = create_and_open_hashtree(TreeId, Segments, Width, MemLevels, Tree1OpenOrEmpty, ExtraIds),
  
      put(t1, T1A),
  
      %% TODO: Can we just use Segments, Width, Memlevels?
      T2A = create_and_open_hashtree(TreeId, hashtree:segments(T1A), hashtree:width(T1A), 
          hashtree:mem_levels(T1A), Tree2OpenOrEmpty, ExtraIds),
  
      put(t2, T2A),
  
  
negative.code: %% The command frequencies are deliberately manipulated to make it more
  %% likely that compares will take place once both trees are updated.
  %%
  
  
  -module(hashtree_eqc).
  