anchor.diff:      end.
   
   %% @private
  -get_merkle(_State=#state{mod=Mod,modstate=ModState}) ->
  -    KeyList = Mod:list(ModState),
  -    Merk0 = merkerl:build_tree([]),
  -    get_merk(Mod,ModState,KeyList,Merk0).
  -%% @private
  -get_merk(_Mod,_ModState,[],Merk) -> Merk;
  -get_merk(Mod,ModState,[BKey|KeyList],Merk) ->
  -    V = Mod:get(ModState,BKey), % normally, V = {ok,BinObj}
  -    get_merk(Mod,ModState,KeyList,merkerl:insert({BKey,erlang:phash2(V)},Merk)).
  -
  -%% @private
   get_vclocks(KeyList,_State=#state{mod=Mod,modstate=ModState}) ->
       [{BKey, get_vclock(BKey,Mod,ModState)} || BKey <- KeyList].
   %% @private
  
positive.code:     end.
  
  %% @private
  do_merkle(Me,RemoteVN,RemoteMerkle,ObjList,StateData) ->
      % given a RemoteMerkle over the ObjList from RemoteVN
      % determine which elements in ObjList we differ on
      MyMerkle = make_merk(StateData,ObjList),
      case merkerl:diff(MyMerkle,RemoteMerkle) of
          [] -> gen_fsm:send_event(RemoteVN,merk_nodiff);
          DiffList -> gen_fsm:send_event(RemoteVN,{merk_diff,Me,DiffList})
      end.
  
  %% @private
  syntactic_put_merge(Mod, ModState, BKey, Obj1, ReqId) ->
      case Mod:get(ModState, BKey) of
          {error, notfound} -> {newobj, Obj1};
  
negative.code:     end,
      KeyCache = orddict:store({M,F,Arg,KeyData},MF_Res,KeyCache0),
      {next_state,active,
       StateData#state{mapcache=orddict:store(BKey,KeyCache,Cache)},?TIMEOUT}.
  
  %% @private
  do_get(FSM_pid, BKey, ReqID,
  