Lru_cache
module type S = sig ... end
module type H = sig ... end
module Make (H : H) : S with type key = H.t