Interface.ABELIAN_GROUP
include GROUP
include LOOP
include QUASIGROUP
include MAGMA
type t
val append : t -> t -> t
val empty : t
include MONOID with type t := t
include SEMIGROUP
val inverse : t -> t