sig
  type ('k, 'v) t
  type 'a with_init_args
  val cps_create :
    f:(('a, 'c) Cache.Store.t -> 'b) -> 'Cache.Store.with_init_args
  val clear : ('k, 'v) Cache.Store.t -> unit
  val replace : ('k, 'v) Cache.Store.t -> key:'-> data:'-> unit
  val find : ('k, 'v) Cache.Store.t -> '-> 'v option
  val data : ('a, 'v) Cache.Store.t -> 'v list
  val remove : ('k, 'v) Cache.Store.t -> '-> unit
end