Preface_core.MonoidA generic monoid.
times_nel combine n x apply combine on x n times. If n is lower than 1 the function will returns None .
times combine neutral n x apply combine on x n times. If n is lower than 1 the function will returns neutral .
val reduce_nel : ('a -> 'a -> 'a) -> 'a Nonempty_list.t -> 'areduce_nel combine list Reduce a Nonempty_list.t using combine.