anchor.diff:  %%      all unnecessary vertices with the given Pid, that should
   %%      represent the resulting lasp process of the path contraction.
   %%
  --spec remove_edges(digraph:graph(), contract_path(), contract_process_id(), pid(), optimized_map()) -> optimized_map().
  +-spec remove_edges(digraph:graph(), contract_path(), process_hash(), pid(), optimized_map()) -> optimized_map().
   remove_edges(Dag, VSeq, Id, Pid, OptMap) ->
       %% Store process metadata in the optimized map
       Metadata = get_metadata(Dag, VSeq),
  
positive.code: %%% Type definitions
  %%%===================================================================
  
  %% We store a mapping Pid -> [{parent_node, child_node}] to
  %% find the edge labeled with it without traversing the graph.
  %%
  
negative.code:     apply_sequentially(Int(H(X)), T, Int, Final).
  
  %% @doc Get an unique identifier for a process in the graph.
  -spec process_hash(process_args()) -> process_hash().
  process_hash(Args) ->
      erlang:phash2(Args).
  
  