functor (T : CfgTypes.Transition->
  sig
    module T :
      sig
        type 'a transition = 'T.transition
        val empty : 'a transition
        val iter : ('-> unit) -> 'a transition -> unit
      end
    val nil : int
    val is_nil : int -> bool
    type node = int
    type transition = CfgLib.Make.node CfgLib.Make.T.transition
    type cfg = CfgLib.Make.cell Vector.t
    and cell = {
      mutable pred : CfgLib.Make.node list;
      mutable next : CfgLib.Make.node CfgLib.Make.T.transition;
    }
    val create : unit -> 'Vector.t
    val size : 'Vector.t -> int
    val remove : '-> 'a list -> 'a list
    val set_pred :
      CfgLib.Make.cell Vector.t ->
      CfgLib.Make.node -> int CfgLib.Make.T.transition -> unit
    val del_pred :
      CfgLib.Make.cell Vector.t ->
      CfgLib.Make.node -> int CfgLib.Make.T.transition -> unit
    val node : CfgLib.Make.cell Vector.t -> int
    val set :
      CfgLib.Make.cell Vector.t ->
      CfgLib.Make.node -> CfgLib.Make.node CfgLib.Make.T.transition -> unit
    val add :
      CfgLib.Make.cell Vector.t ->
      CfgLib.Make.node CfgLib.Make.T.transition -> int
    val next :
      CfgLib.Make.cell Vector.t ->
      int -> CfgLib.Make.node CfgLib.Make.T.transition
    val pred : CfgLib.Make.cell Vector.t -> int -> CfgLib.Make.node list
    val iter :
      (int -> CfgLib.Make.node CfgLib.Make.T.transition -> unit) ->
      CfgLib.Make.cell Vector.t -> unit
    val iter_succ :
      CfgLib.Make.cell Vector.t -> (CfgLib.Make.node -> unit) -> int -> unit
    val iter_pred :
      CfgLib.Make.cell Vector.t -> (CfgLib.Make.node -> unit) -> int -> unit
    val succ : CfgLib.Make.cell Vector.t -> int -> CfgLib.Make.node list
    val id : '-> 'a
    val nid : '-> 'a
    type marks = Bitvector.t
    val marks : 'Vector.t -> Bitvector.t
    val once : Bitvector.t -> int -> bool
    type dotter = Format.formatter
    type pp_cfg =
        CfgLib.Make.dotter ->
        CfgLib.Make.node -> CfgLib.Make.transition -> unit
    val pp_node :
      Format.formatter ->
      int -> ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
    val pp_edge :
      Format.formatter ->
      int ->
      int -> ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
    val dot :
      CfgLib.Make.cell Vector.t ->
      (Format.formatter ->
       int -> CfgLib.Make.node CfgLib.Make.T.transition -> unit) ->
      string -> unit
  end