Module Preface_laws.Semigroup

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