Module Lru_cache

module type Key = sig ... end
module type S = sig ... end
module type Monad = sig ... end
module Make_with_monad : functor (M : Monad) -> functor (K : Key) -> sig ... end
module Make : functor (K : Key) -> sig ... end