Module type 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
include MAGMA
type t
val append : t -> t -> t
val empty : t
val inverse : t -> t