sig
  type t =
      string *
      Cil_datatype.Stmt.Hptset.t option Cil_datatype.Kinstr.Hashtbl.t
  module V :
    sig
      type t = Cil_types.stmt * bool
      val pretty : Format.formatter -> Cil_types.stmt -> unit
    end
  module E :
    sig
      type t = Print.Printer.V.t * Print.Printer.V.t
      val src : 'a * '-> 'a
      val dst : 'a * '-> 'b
    end
  val iter_vertex :
    (Cil_types.stmt * bool -> unit) ->
    'a * 'b option Cil_datatype.Kinstr.Hashtbl.t -> unit
  val iter_edges_e :
    ((Cil_types.stmt * bool) * (Cil_datatype.Stmt.Hptset.elt * bool) -> unit) ->
    'a * Cil_datatype.Stmt.Hptset.t option Cil_datatype.Kinstr.Hashtbl.t ->
    unit
  val vertex_name : Cil_types.stmt * '-> string
  val graph_attributes : 'a * '-> [> `Label of 'a ] list
  val default_vertex_attributes : '-> [> `Style of [> `Filled ] list ] list
  val default_edge_attributes : '-> 'b list
  val vertex_attributes :
    Cil_types.stmt * bool ->
    [> `Fillcolor of int | `Label of string | `Shape of [> `Box ] ] list
  val edge_attributes : '-> 'b list
  val get_subgraph : '-> 'b option
end