sig
  module G : G
  val iter :
    int ->
    OpamParallel.G.t ->
    pre:(G.V.t -> unit) ->
    child:(G.V.t -> unit) -> post:(G.V.t -> unit) -> unit
  val iter_l :
    int ->
    OpamParallel.G.vertex list ->
    pre:(G.V.t -> unit) ->
    child:(G.V.t -> unit) -> post:(G.V.t -> unit) -> unit
  val map_reduce :
    int ->
    OpamParallel.G.t ->
    map:(G.V.t -> 'a) -> merge:('-> '-> 'a) -> init:'-> 'a
  val map_reduce_l :
    int ->
    OpamParallel.G.vertex list ->
    map:(G.V.t -> 'a) -> merge:('-> '-> 'a) -> init:'-> 'a
  val create : G.V.t list -> OpamParallel.G.t
  exception Errors of (G.V.t * OpamParallel.error) list * G.V.t list
  exception Cyclic of G.V.t list list
end