module type PLUGIN : sig ... end
module type CONTROLLER : sig ... end
module Make : functor (P : PLUGIN) -> CONTROLLER