sig
type ('a, 'b) manual_cache = {
get : 'a -> 'b;
del : 'a -> unit;
enum : unit -> ('a * 'b) BatEnum.t;
}
val make_ht :
gen:('a -> 'b) -> init_size:int -> ('a, 'b) BatCache.manual_cache
val make_map : gen:('a -> 'b) -> ('a, 'b) BatCache.manual_cache
type ('a, 'b) auto_cache = 'a -> 'b
val lru_cache : gen:('a -> 'b) -> cap:int -> ('a, 'b) BatCache.auto_cache
end