sig
  type vertex
  type 'a t
  val as_graph : 'CCGraph.MAP.t -> (CCGraph.MAP.vertex, 'a) CCGraph.graph
  val empty : 'CCGraph.MAP.t
  val add_edge :
    CCGraph.MAP.vertex ->
    '-> CCGraph.MAP.vertex -> 'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val remove_edge :
    CCGraph.MAP.vertex ->
    CCGraph.MAP.vertex -> 'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val add : CCGraph.MAP.vertex -> 'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val remove : CCGraph.MAP.vertex -> 'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val union : 'CCGraph.MAP.t -> 'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val vertices : 'CCGraph.MAP.t -> CCGraph.MAP.vertex CCGraph.sequence
  val vertices_l : 'CCGraph.MAP.t -> CCGraph.MAP.vertex list
  val of_list :
    (CCGraph.MAP.vertex * 'a * CCGraph.MAP.vertex) list -> 'CCGraph.MAP.t
  val add_list :
    (CCGraph.MAP.vertex * 'a * CCGraph.MAP.vertex) list ->
    'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val to_list :
    'CCGraph.MAP.t -> (CCGraph.MAP.vertex * 'a * CCGraph.MAP.vertex) list
  val of_seq :
    (CCGraph.MAP.vertex * 'a * CCGraph.MAP.vertex) CCGraph.sequence ->
    'CCGraph.MAP.t
  val add_seq :
    (CCGraph.MAP.vertex * 'a * CCGraph.MAP.vertex) CCGraph.sequence ->
    'CCGraph.MAP.t -> 'CCGraph.MAP.t
  val to_seq :
    'CCGraph.MAP.t ->
    (CCGraph.MAP.vertex * 'a * CCGraph.MAP.vertex) CCGraph.sequence
end