module type S =
sig
module P : Path.S
type t
val edges : t -> P.G.E.t
val covered : t -> P.G.V.t
val uncovered : t -> P.G.V.t
val graph : t -> P.G.graph
val empty : P.G.graph -> t
val add_edge : t -> P.G.edge -> t
val remove_edge : t -> P.G.edge -> t
val matched_to : t -> P.G.vertex -> (P.G.edge * P.G.vertex) option
val contract_blossom : t -> P.t -> t
val augment : t -> P.t -> t
end