functor (D : DRAW->
  functor (G : GRAPH->
    sig
      type engine =
        [ `Dot of
            [ `Nodesep of int
            | `Rankdir of [ `LeftToRight | `TopToBottom]
            | `Ranksep of int] list]
      val draw_graph :
        D.window ->
        Avl_draw.Make.engine -> int -> int -> G.graph -> int * int
    end