A signature for a commutative group (in the group-theory sense).
An implementation of this interface should have the following properties:
(a+b)+c = a+(b+c)
for all elt's a,b,c
zero+a = a+zero = a
for all elt's a
a
there exists a (unique) elt b
such that a+b=b+a=zero
a+b = b+a
module type S : sig ... end