Module Assoc.A


module A: sig .. end

type ('a, 'b) t = ('a * 'b) list ref 
val create : unit -> 'a list ref
val clear : 'a list ref -> unit
val get_assoc : ('a * 'b) list ref -> 'a -> 'b
val update_assoc : ('a * 'b) list ref -> 'a -> 'b -> unit
val remove_assoc : ('a * 'b) list ref -> 'a -> unit
val assoc_to_keys : ('a * 'b) list ref -> 'a list
val assoc_to_list : ('a * 'b) list ref -> 'b list
val assoc_size : 'a list ref -> int
val filter : ('a, 'b) t -> ('a * 'b -> bool) -> ('a * 'b) list