alg_structs

Interfaces and module combinators for algebraic structures
IN THIS PACKAGE
module Make (S : S) : S with type t = S.t

Make (S) is S except that S.op is defined as Fun.flip S.op.

val make : ( 'a -> 'a -> 'a ) -> (module S with type t = 'a)

make op is Semigroup.make (Fun.flip op).