anchor.diff:  	    {value, unwrap_object(V)}
       end.
   
  +%% @doc returns the result of looking up a path when that path is known to exist (fails otherwise)
  +-spec fetch_path([binary()|atom()], _, atom()) -> find_result().
  +fetch_path(Path, Tree, StoreMod) ->
  +    {fetch_path, {value, V}} = {fetch_path, get_path(Path, Tree, StoreMod)},
  +    V.
  +		     
  +
   %% @doc stores Val in Tree at PathPart, assuming that no component of PathPart is already in Tree; returns hash for updated Tree
   fold_absent([Key], {?TAG_OBJECT, _}=Val, {?TAG_BUCKETED_TREE, _, _}=Tree, _, StoreMod) ->
       VH = element(1, wallaroo_db:hash_and_store(Val, StoreMod)),
  
positive.code:       fun() -> test_setup(), first_fixture() end,
        fun(_) -> test_teardown() end,
        [?_assertEqual("a/b/c/d/0 for all", 
  		    wallaroo_tree:get_path([a,b,c,d,0], find_fixture_tree(t0), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/0 for all", 
  		    wallaroo_tree:get_path([a,b,c,d,0], find_fixture_tree(t1), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/0 for all", 
  		    wallaroo_tree:get_path([a,b,c,d,0], find_fixture_tree(t2), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/0 for all", 
  		    wallaroo_tree:get_path([a,b,c,d,0], find_fixture_tree(t3), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/0 for all", 
  		    wallaroo_tree:get_path([a,b,c,d,0], find_fixture_tree(t4), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/e for T1", 
  		    wallaroo_tree:get_path([a,b,c,d,e], find_fixture_tree(t1), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/e for T2", 
  		    wallaroo_tree:get_path([a,b,c,d,e], find_fixture_tree(t2), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/e for T2", 
  		    wallaroo_tree:get_path([a,b,c,d,e], find_fixture_tree(t3), wallaroo_store_ets)),
        ?_assertEqual("a/b/c/d/e for T2", 
  		    wallaroo_tree:get_path([a,b,c,d,e], find_fixture_tree(t4), wallaroo_store_ets)),
        ?_assertEqual("a/b/x for T3", 
  		    wallaroo_tree:get_path([a,b,x], find_fixture_tree(t3), wallaroo_store_ets)),
        ?_assertEqual("a/b/x for T3", 
  		    wallaroo_tree:get_path([a,b,x], find_fixture_tree(t4), wallaroo_store_ets)),
        ?_assertEqual("a/b/y for T4", 
  		    wallaroo_tree:get_path([a,b,y], find_fixture_tree(t4), wallaroo_store_ets)),
        ?_assertNot("a/b/y for T4" =:=
  		       wallaroo_tree:get_path([a,b,y], find_fixture_tree(t1), wallaroo_store_ets))]}}.
  
  splitting_test_() ->
  
negative.code:      {setup,
        fun() -> test_setup(), second_fixture() end,
        fun(_) -> test_teardown() end,
        [?_assertEqual(X, wallaroo_tree:fetch_path([x,y,z,list_to_atom("element_" ++ integer_to_list(X))], find_fixture_tree(sft), wallaroo_store_ets)) || X <- lists:seq(1,?BIG_TEST_SIZE)]}}.
  	      
  
  -endif.
  