{-| This module provides the class of semigroups. A semigroup has a single binary operation which is associative. -} module Data.Semigroup ( Semigroup (append) ) where -- |The class of semigroups. class Semigroup semigroup where -- |An associative operation. append :: semigroup -> semigroup -> semigroup