anchor.diff:      digraph:add_vertex(G, "c"),
       digraph:add_vertex(G, "d"),
       digraph:add_vertex(G, "e"),
  -    digraph:add_edge(G, "a", "b"),
  -    digraph:add_edge(G, "b", "c"),
  -    digraph:add_edge(G, "c", "d"),
  -    digraph:add_edge(G, "b", "b"),
  +    digraph_add_edge(G, "a", "b"),
  +    digraph_add_edge(G, "b", "c"),
  +    digraph_add_edge(G, "c", "d"),
  +    digraph_add_edge(G, "b", "b"),
       {LG = #louvain_graph{}, CleanupFn} = part_louvain:graph(
                                               digraph:vertices(G),
                                               [digraph:edge(G, E) ||
  
positive.code:         fun({V1, V2}) ->
              digraph:add_vertex(G, V1),
              digraph:add_vertex(G, V2),
              digraph:add_edge(G, {V1,V2}, V1, V2, [])
          end, UniqueEdges),
      R = graph_from_digraph(G),
      digraph:delete(G),
      R.
  
negative.code:     digraph:add_vertex(G, "c"),
      digraph:add_vertex(G, "d"),
      digraph:add_vertex(G, "e"),
      digraph_add_edge(G, "a", "b"),
      digraph_add_edge(G, "b", "c"),
      digraph_add_edge(G, "c", "d"),
      digraph_add_edge(G, "b", "b"),
      {LG = #louvain_graph{}, CleanupFn} = part_louvain:graph(
                                              digraph:vertices(G),
                                              [digraph:edge(G, E) ||
  