sig
  type graph
  and node
  and edge
  val iter_nodes :
    (Avl_draw.GRAPH.node -> unit) -> Avl_draw.GRAPH.graph -> unit
  val iter_edges :
    (Avl_draw.GRAPH.edge -> unit) -> Avl_draw.GRAPH.graph -> unit
  val node_hash : Avl_draw.GRAPH.node -> int
  val node_equal : Avl_draw.GRAPH.node -> Avl_draw.GRAPH.node -> bool
  val node_attributes : Avl_draw.GRAPH.node -> Avl_draw.node_attributes
  val edge_hash : Avl_draw.GRAPH.edge -> int
  val edge_equal : Avl_draw.GRAPH.edge -> Avl_draw.GRAPH.edge -> bool
  val edge_head : Avl_draw.GRAPH.edge -> Avl_draw.GRAPH.node
  val edge_tail : Avl_draw.GRAPH.edge -> Avl_draw.GRAPH.node
  val edge_attributes : Avl_draw.GRAPH.edge -> Avl_draw.edge_attributes
end