anchor.diff:  remove_edges(Dag, VSeq, Pid, OptMap) ->
   
       %% Store process metadata in the optimized map
  -    UnnecessaryDict = lists:foldl(fun({Src, {Dst, Metadata}}, Acc) ->
  -        dict:store(Src, {Dst, Metadata}, Acc)
  -    end, dict:new(), get_metadata(Dag, VSeq)),
  +    Metadata = get_metadata(Dag, VSeq),
   
       %% Tag all unnecessary vertices in the path with the new process Pid
       UnnecesaryVertices = lists:sublist(VSeq, 2, length(VSeq) - 2),
  
positive.code:     [Fn(X, Y) | zipwith(Fn, Xs, Ys)];
  
  zipwith(Fn, _, _) when is_function(Fn, 2) -> [].
  
  %% @doc Thread a value through a list of functions.
  %%
  
negative.code: cleave_associated_path(G, Pid, OptMap) ->
      case dict:find(Pid, OptMap) of
          error -> ok;
          {ok, {VSeq, MetadataList}} ->
              ProcessArgs = unpack_optimized_map(VSeq, MetadataList),
              UnnecesaryVertices = lists:sublist(VSeq, 2, length(VSeq) - 2),
              tag_vertices(G, UnnecesaryVertices, []),
              spawn_link(fun() ->
                  lists:foreach(fun({_Reads, _TransForms, _Write}=Args) ->
                      lasp_process:start_dag_link(tuple_to_list(Args))
  