`module type S = sig ... end`
`module Make (B : Builder.S with type G.V.label = int * int and type G.E.label = int) : S with type graph = B.G.t`

Random planar graphs

`module P (G : Sig.P with type V.label = int * int and type E.label = int) : S with type graph = G.t`

Random persistent planar graphs

`module I (G : Sig.I with type V.label = int * int and type E.label = int) : S with type graph = G.t`

Random imperative planar graphs