# Functor Merge.I

    module I: functor (G : Sig.I) -> sig .. end

Extension for the module `G`.

Parameters:

`G` | : | `Sig.I`

Same specification than module type `S` but modify the graph inplace instead of returning a new graph.

    type graph = G.t

    type vertex = G.vertex

    type edge = G.edge

    type edge_label = G.E.label

    val merge_vertex : graph -> vertex list -> unit

    val merge_edges_e : ?src:vertex ->
           ?dst:vertex -> graph -> edge list -> unit

    val merge_edges_with_label : ?src:vertex ->
           ?dst:vertex ->
           ?label:edge_label -> graph -> edge_label -> unit

    val merge_isolabelled_edges : graph -> unit

    val merge_ends : ?strict:bool -> ?specified_vertex:vertex -> graph -> unit

    val merge_starts : ?strict:bool -> ?specified_vertex:vertex -> graph -> unit

    val merge_scc : ?loop_killer:bool ->
           ?specified_vertex:(vertex list -> vertex) ->
           graph -> unit