module Data.Ring.Semi.Near ( module Data.Monoid.Multiplicative , Seminearring ) where import Data.Monoid.Multiplicative import Data.FingerTree import Data.Monoid.FromString import Data.Monoid.Monad.Identity import Data.Monoid.Generator import qualified Data.Sequence as Seq import Data.Sequence (Seq) class (MultiplicativeMonoid m, Monoid m) => Seminearring m instance Monoid m => Seminearring [m] instance Monoid m => Seminearring (Seq m) instance (Measured v m, Monoid m) => Seminearring (FingerTree v m) instance Seminearring m => Seminearring (Identity m) instance Seminearring m => Seminearring (FromString m)