module Map: sig
.. end
type ('a, 'typ, 'b)
t
val empty : ('a, 'typ, 'b) t
val is_empty : ('a, 'typ, 'b) t -> bool
val add : ('a, 'typ) Syntax.expr ->
'b -> ('a, 'typ, 'b) t -> ('a, 'typ, 'b) t
val remove : ('a, 'typ) Syntax.expr ->
('a, 'typ, 'b) t -> ('a, 'typ, 'b) t
val filter : (('a, 'typ) Syntax.expr -> 'b -> bool) ->
('a, 'typ, 'b) t -> ('a, 'typ, 'b) t
val filter_map : (('a, 'typ) Syntax.expr -> 'b -> 'c option) ->
('a, 'typ, 'b) t -> ('a, 'typ, 'c) t
val map : ('b -> 'c) ->
('a, 'typ, 'b) t -> ('a, 'typ, 'c) t
val find : ('a, 'typ) Syntax.expr -> ('a, 'typ, 'b) t -> 'b
val keys : ('a, 'typ, 'b) t -> ('a, 'typ) Syntax.expr BatEnum.t
val values : ('a, 'typ, 'b) t -> 'b BatEnum.t
val enum : ('a, 'typ, 'b) t -> (('a, 'typ) Syntax.expr * 'b) BatEnum.t
val merge : (('a, 'typ) Syntax.expr -> 'b option -> 'c option -> 'd option) ->
('a, 'typ, 'b) t ->
('a, 'typ, 'c) t -> ('a, 'typ, 'd) t
val fold : (('a, 'typ) Syntax.expr -> 'b -> 'c -> 'c) ->
('a, 'typ, 'b) t -> 'c -> 'c