anchor.diff:  		{ok, Data} -> lists:foldl(fun(Datum, AccIn) -> Operator(Datum, AccIn, Id, Name) end, Acc, Data);
   		error -> Acc
   	end,
  -	case maps:find(children, Node) of
  -		{ok, Children} -> accumulate(Operator, NodeAcc, fastConcat(Rest, Children));
  -		error -> accumulate(Operator, NodeAcc, Rest)
  -	end.
  +	accumulate(Operator, NodeAcc, fastConcat(Rest, maps:get(children, Node, [])));
   
   filter(Operator, NodeKey) when is_function(Operator), is_tuple(NodeKey) ->
   	{ok, #{ id := Id, name := Name } = Node} = plywood_db:fetch(primary_tree, NodeKey),
  
positive.code: erase([NodeKey |Rest]) when is_tuple(NodeKey) ->
  	{ok, #{ id := Id, name := Name } = Node} = plywood_db:fetch(primary_tree, NodeKey),
  	plywood_db:delete(primary_tree, NodeKey),
  	case maps:find(children, Node) of
  		{ok, Children} -> erase(fastConcat(Rest, Children));
  		error -> erase(Rest)
  	end.
  
  getOperator(aggregate, {Field, max}) -> fun(Tree) -> Tree end;
  getOperator(aggregate, {Field, min}) -> fun(Tree) -> Tree end;
  
negative.code: 			maps:put(data, NewData, Node);
  		error -> Node
  	end,
  	transform(Operator, fastConcat(Rest, maps:get(children, Node, [])));
  
  rewrite(Operator, NodeKey) when is_function(Operator), is_tuple(NodeKey) ->
  	{ok, Node} = plywood_db:fetch(primary_tree, NodeKey),
  