Unary
module A : S
type 'a value = A.t -> 'a
type 'a cache
val create : size:int -> 'a cache
val clear : 'a cache -> unit
val compute : 'a cache -> 'a value -> 'a value