`module type G = sig ... end`

Minimal graph signature for Kruskal. Sub-signature of `Sig.G`.

`module Make (G : G) (W : Sig.ORDERED_TYPE with type t = G.E.label) : sig ... end`

Functor providing an implementation of Kruskal's minimum-spanning-tree algorithm. Parameter `W` ensures that label on edges are comparable.

### Generic version where union-find implementation is provided

`module type UNIONFIND = sig ... end`

Signature of union-find.

`module Generic (G : G) (W : Sig.ORDERED_TYPE with type t = G.E.label) (UF : UNIONFIND with type elt = G.V.t) : sig ... end`

Functor providing an implementation of Kruskal's minimum-spanning-tree algorithm using a user-defined union-find algorithm. Parameter `W` ensures that label on edges are comparable.