anchor.diff:  get_path([], Obj, _) ->
       Obj;
   get_path([P|Rest], Tree, FindFunc) ->
  -    case get(P, Tree) of
  +    case find(P, Tree) of
   	none ->
   	    none;
   	{value, ElementHash} ->
  
positive.code:     hash_and_store(Tree, StoreFunc).
  
  put_path([P], BS, Tree, StoreFunc, _FindFunc) when is_binary(BS) ->
      NewTree = put(P, BS, Tree),
      hash_and_store(NewTree, StoreFunc);	    
  put_path([P], Object, Tree, StoreFunc, _FindFunc) ->
      {ObjectHash, Object} = hash_and_store(Object, StoreFunc),
      put_path([P], ObjectHash, Tree, StoreFunc, _FindFunc);
  put_path([P|Rest], Object, Tree, StoreFunc, FindFunc) ->
      case get(P, Tree) of
  	none ->
  	    [Last|Tser] = lists:reverse(Rest),
  	    {LeafHash, _Leaf} = put_path([Last], Object, gb_trees:empty(), StoreFunc, FindFunc),
  
negative.code: empty() ->
      gb_trees:empty().
  
  store(Key, Val, Tree) ->
      case gb_trees:lookup(Key, Tree) of
  	none ->
  	    gb_trees:insert(Key, Val, Tree);
  