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