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   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