module Semigroup: sig .. end
sig
end
Semigroups
module type S = sig .. end
module First: functor (T : sig type t end) -> S with type t = T.t
functor (
T
:
type t
end) -> S with type t = T.t
) ->
S
with type t = T.t
module Last: functor (T : sig type t end) -> S with type t = T.t