Monoid.Over_semigroup
module S : Preface_specs.SEMIGROUP
module M : Preface_specs.Monoid.WITH_NEUTRAL with type t = S.t
type t = S.t
the type held by the Monoid
.
val neutral : t
The neutral element of the Monoid
.
times_nel n x
apply combine
on x
n
times. If n
is lower than 1
the function will returns None
.
val reduce_nel : t Preface_core.Nonempty_list.t -> t
Reduce a Nonempty_list.t
using combine
.
times n x
apply combine
on x
n
times. If n
is lower than 1
the function will returns neutral
.
module Infix : Preface_specs.Monoid.INFIX with type t := t