functor (G : Sig.P) -> sig type edgeset = (G.V.t * G.V.t) list val md : G.t -> G.t * Md.P.edgeset * G.V.t list val triangulate : G.t -> G.t end