Semigroup.Via
module Core : Preface_specs.Semigroup.CORE
module Operation : Preface_specs.Semigroup.OPERATION with type t = Core.t
module Infix : Preface_specs.Semigroup.INFIX with type t = Operation.t
type t = Infix.t
the type held by the Semigroup
.
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
.
module Infix : Preface_specs.Semigroup.INFIX with type t := t