sig
type ('a, 'b) t
val lookup : ('a, 'b) Env.t -> 'a -> 'b
val filter : ('a, 'b) Env.t -> ('b -> bool) -> 'b list
val empty : ('a, 'b) Env.t
val add : ('a, 'b) Env.t -> 'a -> 'b -> ('a, 'b) Env.t
val concat : ('a, 'b) Env.t -> ('a, 'b) Env.t -> ('a, 'b) Env.t
val iter : ('a * 'b -> unit) -> ('a, 'b) Env.t -> unit
val fold_left : ('c -> 'a * 'b -> 'c) -> 'c -> ('a, 'b) Env.t -> 'c
val map : ('a * 'b -> 'c) -> ('a, 'b) Env.t -> 'c list
end