The output signature of the functor Cache.Make
Used to specify the type of the create and memoize function. This
describes the arguments required to initialise the caching strategy and
the store. For instance if the store doesn't take any argument (eg.:
Store.Table) and the strategy takes an int
(eg.: Strategy.Lru)
this type will be:
type 'a with_init_args = int -> 'a