sig
  type 'a t
  val create : ?buck_size:int -> int -> 'a AllocCache.Arr.t
  val make : 'a AllocCache.Arr.t -> int -> 'a -> 'a array
  val free : 'a AllocCache.Arr.t -> 'a array -> unit
  val with_ : 'a AllocCache.Arr.t -> int -> 'a -> f:('a array -> 'b) -> 'b
end