module Control.Object.Group (Group (..)) where import Control.Object.Monoid (Monoid) {- | > When providing a new instance, you should ensure it satisfies the two law: > * Right absorption: x <> inverse x = unit > * Left absorption: inverse x <> x = unit -} class Monoid a => Group a where {-# MINIMAL inverse #-} inverse :: a -> a