val create : add_to_cache:('a ‑> 'b Core.Or_error.t Async.Deferred.t) ‑> to_remove:('b ‑> unit Async.Deferred.t) ‑> hashable:'a Core.Hashtbl.Hashable.t ‑> ?on_exn:('a ‑> exn ‑> unit) ‑> ?cache_errors:bool ‑> ?remove_if_unread_for:Core.Time.Span.t ‑> ?max_cached_data_age:Core.Time.Span.t ‑> ?max_total_concurrent_jobs:int ‑> unit ‑> ('a, 'b) t
val find : ('a, 'b) t ‑> key:'a ‑> 'b Core.Or_error.t Async.Deferred.t
val find_cached_only : ('a, 'b) t ‑> key:'a ‑> 'b option
val remove : ('a, _) t ‑> key:'a ‑> unit Async.Deferred.t