anchor.diff:  		error -> accumulate(Operator, NodeAcc, Rest)
   	end.
   
  -filter(Operator, NodeKey) when is_function(Operator), is_map(NodeKey) ->
  +filter(Operator, NodeKey) when is_function(Operator), is_tuple(NodeKey) ->
   	{ok, #{ id := Id, name := Name } = Node} = plywood_db:fetch(primary_tree, NodeKey),
   	NewNode = case maps:find(data, Node) of
   		{ok, Data} -> maps:put(data, [ Datum || Datum <- Data, Operator(Datum, Id, Name)], Node);
  
positive.code: 	end.
  
  transform(_Operator, []) -> ok;
  transform(Operator, [NodeKey |Rest]) when is_function(Operator), is_map(NodeKey) ->
  	{ok, #{ id := Id, name := Name } = Node} = plywood_db:fetch(primary_tree, NodeKey),
  	NewNode = case maps:find(data, Node) of
  		{ok, Data} ->
  
negative.code: 		error -> transform(Operator, Rest)
  	end.
  
  rewrite(Operator, NodeKey) when is_function(Operator), is_tuple(NodeKey) ->
  	{ok, Node} = plywood_db:fetch(primary_tree, NodeKey),
  	NewNode = Operator(Node),
  	case maps:find(children, NewNode) of
  