functor (C : CfgTypes.Cfg) ->
  sig
    type 'a t = 'a * 'a Vector.t
    val create : C.cfg -> 'a -> 'a * 'b Vector.t
    val get : 'a * 'a Vector.t -> C.node -> 'a
    val set : 'a * 'a Vector.t -> C.node -> 'a -> unit
    val merged : 'a * 'a Vector.t -> C.node -> ('a -> 'a) -> 'a
    val merge : 'a * 'a Vector.t -> C.node -> ('a -> 'a) -> unit
    val merge_op :
      ('a -> 'b -> 'a) -> 'a * 'a Vector.t -> C.node -> 'b -> unit
    val merged_op :
      ('a -> 'b -> 'a) -> 'a * 'a Vector.t -> C.node -> 'b -> 'a
    val iter : (C.node -> 'a -> unit) -> 'b * 'a Vector.t -> unit
  end