Option.Semigroup
S : Interface.SEMIGROUP
include sig ... end
type t
= S.t option
val append : t -> t -> t