sig
  type ti = Nset.t
  type t = (int * int, ti) Hashtbl.t
  val create : int -> ('a, 'b) Hashtbl.t
  val edge_key : CFG.E.t -> int * int
  val find : (int * int, 'a) Hashtbl.t -> CFG.E.t -> 'a
  val find_all : (int * int, 'a) Hashtbl.t -> CFG.E.t -> 'a list
  val add : (int * int, 'a) Hashtbl.t -> CFG.E.t -> '-> unit
  val replace : (int * int, 'a) Hashtbl.t -> CFG.E.t -> '-> unit
  val remove : (int * int, 'a) Hashtbl.t -> CFG.E.t -> unit
  val clear : ('a, 'b) Hashtbl.t -> unit
end