functor
(
M
:
sig
val
module_name : string
end
) ()
->
S