functor (X : GRAPH->
  sig
    exception Cyclic
    val fold : (X.node -> '-> 'a) -> '-> X.graph -> 'a
    val iter : (X.node -> unit) -> X.graph -> unit
    val list : X.graph -> X.node list
    val stack : X.graph -> X.node Stack.t
    val queue : X.graph -> X.node Queue.t
  end