Module type Key_cache.S

module M : sig ... end
type ('a, 'b) t = ( 'a, 'b ) T(M).t = {
write : 'a -> 'b -> unit M.t;
read : 'a -> 'b M.t;
}
module Disk_storable : sig ... end
val read : Spec.t list -> ( 'k, 'v ) Disk_storable.t -> 'k -> ('v * [> `Cache_hit | `Locally_generated ]) M.t
val write : Spec.t list -> ( 'k, 'v ) Disk_storable.t -> 'k -> 'v -> unit M.t