negate package:semirings

Generically generate a Ring negate operation for any type implementing Generic. It is only defined for product types.
gplus a (gnegate a) = zero