anchor.diff:  	).
   
   ets(Size) ->
  -	SetupFunc = fun() ->
  -		EtsTable = ets:new(whatthefuck, [private]),
  -		[
  -			ets:insert(EtsTable, {list_to_binary(integer_to_list(Key)), <<"Value ", Key/integer>>})
  -			|| Key <- lists:seq(1, Size)
  -		],
  -		{Size, EtsTable}
  -	end,
  +	SetupFunc = fun() -> ets_new(Size) end,
   	run_benches(
   		io_lib:format("ets (~p items)", [Size]),
   		[
  +			{new, fun() -> Size end, fun ?MODULE:ets_new/1},
   			{lookup, SetupFunc, fun ?MODULE:ets_lookup/1},
   			%{iterate_foldl, SetupFunc, fun ?MODULE:ets_iterate_foldl/1}, % HORRIBLE
   			%{iterate_match, SetupFunc, fun ?MODULE:ets_iterate_match/1}, % Not as bad, but still BAD
  
positive.code: 
  %% --------------------------------------------------------------------------------------------------------------------
  
  ets_lookup({Size, EtsTable}) ->
  	ets:lookup(EtsTable, list_to_binary(integer_to_list(random:uniform(Size)))).
  
  
negative.code: 	).
  
  dict(Size) ->
  	SetupFunc = fun() -> dict_new(Size) end,
  	run_benches(
  		io_lib:format("dict (~p items)", [Size]),
  		[
  			{new, fun() -> Size end, fun ?MODULE:dict_new/1},
  			{fetch, SetupFunc, fun ?MODULE:dict_fetch/1},
  			{iterate_map, SetupFunc, fun ?MODULE:dict_iterate_map/1},
  			{iterate_fold, SetupFunc, fun ?MODULE:dict_iterate_fold/1},
  