type (+'a, +'b) t
val empty : (_, _) tval is_empty : (_, _) t -> boolval singleton : 'a var -> 'b -> ('a, 'b) tval size : (_, _) t -> intval add : ('a, 'b) t -> 'a var -> 'b -> ('a, 'b) tval mem : ('a, _) t -> 'a var -> boolval find : ('a, 'b) t -> 'a var -> 'b optionval find_exn : ('a, 'b) t -> 'a var -> 'bval merge : ('a, 'b) t -> ('a, 'b) t -> ('a, 'b) tval of_list : ('a var * 'b) list -> ('a, 'b) tval of_seq : ('a var * 'b) Sequence.t -> ('a, 'b) tval to_list : ('a, 'b) t -> ('a var * 'b) listval to_seq : ('a, 'b) t -> ('a var * 'b) Sequence.tval pp : 'b CCFormat.printer -> (_, 'b) t CCFormat.printer