functor (H0 : Cacheable) (H1 : Cacheable) (R : Result) -> sig val clear : unit -> unit val merge : (H0.t -> H1.t -> R.t) -> H0.t -> H1.t -> R.t end