sig
  type +'a t
  val empty : 'DBEnv.t
  val is_empty : 'DBEnv.t -> bool
  val make : int -> 'DBEnv.t
  val singleton : '-> 'DBEnv.t
  val push : 'DBEnv.t -> '-> 'DBEnv.t
  val push_none : 'DBEnv.t -> 'DBEnv.t
  val push_none_multiple : 'DBEnv.t -> int -> 'DBEnv.t
  val pop : 'DBEnv.t -> 'DBEnv.t
  val pop_many : 'DBEnv.t -> int -> 'DBEnv.t
  val size : 'DBEnv.t -> int
  val find : 'DBEnv.t -> int -> 'a option
  val find_exn : 'DBEnv.t -> int -> 'a
  val mem : 'DBEnv.t -> int -> bool
  val set : 'DBEnv.t -> int -> '-> 'DBEnv.t
  val num_bindings : 'DBEnv.t -> int
  val map : ('-> 'b) -> 'DBEnv.t -> 'DBEnv.t
  val of_list : (int * 'a) list -> 'DBEnv.t
  val pp : 'CCFormat.printer -> 'a t CCFormat.printer
  val to_string : 'CCFormat.printer -> 'a t -> string
end