type ('key, 'value) cacheval create : int -> ('key, 'value) tval assoc : 'key -> 'value -> ('key, 'value) t -> ('key, 'value) tval find : 'key -> ('key, 'value) t -> 'value optionval cache : int -> ('key, 'value) cacheval cache_get : ('key, 'value) cache -> 'key -> (unit -> 'value) -> 'value