Core_extended_cache.Keep_allFull caching (never flushes out values automatically )
type ('a, 'b) memo = ( 'a, ( 'b, exn ) Core.Result.t ) tval find : ( 'k, 'v ) t -> 'k -> 'v optionval add : ( 'k, 'v ) t -> key:'k -> data:'v -> unitval remove : ( 'k, _ ) t -> 'k -> unitval clear : ( _, _ ) t -> unitval create : destruct:( 'v -> unit ) option -> ( 'k, 'v ) tval call_with_cache : cache:( 'a, 'b ) memo -> ( 'a -> 'b ) -> 'a -> 'bval memoize :
?destruct:( 'b -> unit ) ->
( 'a -> 'b ) ->
( 'a, 'b ) memo * ( 'a -> 'b )