M.Semigroup
S : Interface.SEMIGROUP
A : sig ... end
module V : sig ... end
val suite : string -> T.test T.suite