Preface_laws.Semigroup
module type LAWS = sig ... end
module For (S : Preface_specs.SEMIGROUP) : LAWS with type t := S.t