anchor.diff:          end
       end, digraph:out_edges(G, V1)).
   
  -%% @doc Add a vertex only if it is a pid or a binary
  +%% @doc Add a vertex only if it is a pid
   %%
   %%      We only add it if it isn't already present on the dag,
   %%      as adding the same vertex multiple times removes any
   %%      metadata (labels).
   %%
  --spec add_extra_values(digraph:graph(), pid()) -> ok.
  -add_extra_values(Dag, Pid) when is_pid(Pid); is_binary(Pid) ->
  +-spec add_if_pid(digraph:graph(), pid()) -> ok.
  +add_if_pid(Dag, Pid) when is_pid(Pid) ->
      case digraph:vertex(Dag, Pid) of
         false -> digraph:add_vertex(Dag, Pid);
         _ -> ok
      end;
   
  -add_extra_values(_, _) ->
  +add_if_pid(_, _) ->
       ok.
   
   to_dot(Graph) ->
  
positive.code: handle_call({add_edges, Src, Dst, Pid, ReadFuns, TransFun, {Dst, WriteFun}},
              _From, #state{dag=Dag, process_map=Pm}=State) ->
  
      %% Add vertices only if they sources, sinks or sql vertices.
      %% All user-defined variables are tracked through the `declare` function.
      lists:foreach(fun(V) -> add_extra_values(Dag, V) end, Src),
      add_extra_values(Dag, Dst),
  
      %% For all V in Src, make edge (V, Dst) with label {Pid, Read, Trans, Write}
      %% (where {Id, Read} = ReadFuns s.t. Id = V)
  
negative.code:     erlang:integer_to_list(erlang:phash2(Id));
  
  v_str(V) when is_pid(V)->
      pid_to_list(V).
  