[auto
ekmett@gmail.com**20090403065355] {
addfile ./doc/html/monoids/Data-Ring-Semi-Near-Trie.html
addfile ./doc/html/monoids/src/Data-Ring-Semi-Near-Trie.html
hunk ./doc/html/monoids/Data-Monoid-Reducer.html 1002
+>
(Ord c, Reducer c m) => Reducer c (Trie c m) Functor f => Functor f => (HasUnionWith f, Ord r, Eq r, RightSemiNearRing r) => Module r (UnionWith f r) (HasUnionWith f, Ord r, Eq r, RightSemiNearRing r) => RightModule r (UnionWith f r) (HasUnionWith f, Ord r, Eq r, RightSemiNearRing r) => LeftModule r (UnionWith f r) (HasUnionWith f, Ord r, Eq r, RightSemiNearRing r) => LeftModule r (UnionWith f r) (HasUnionWith f, Ord r, Eq r, RightSemiNearRing r) => RightModule r (UnionWith f r) (HasUnionWith f, Ord r, Eq r, RightSemiNearRing r) => Module r (UnionWith f r)
+
+Data.Ring.Semi.Near.Trie
hunk ./doc/html/monoids/doc-index.html 150
->Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpacechildrenData.Ring.Semi.Near.Trie Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace1 (Function) 2 (Function) Data.Ring.Semi.Near.Trie Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.FreeData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.FreeData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpacelabel Data.Ring.Semi.Near.Trie Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Monoid.Ord, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpacenullData.Ring.Semi.Near.Trie , Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace , Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpacesingletonData.Ring.Semi.Near.Trie Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Union, Data.Generator, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.Words, Data.Monoid.Self, Data.Generator.Compressive.LZ78, Data.Monoid.FromString, Data.Generator.Compressive.RLE, Data.Monoid.Categorical, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Generator.Combinators, Data.Generator.Free, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group.Multiplicative, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpacetotal Data.Ring.Semi.Near.Trie Trie 1 (Type/Class) Data.Ring.Semi.Near.Trie 2 (Data Constructor) Data.Ring.Semi.Near.Trie , Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpace , Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Semi.Tropical, Data.Ring.Semi.Near.Trie, Data.Ring.Sugar, Data.Group, Data.Group.Combinators, Data.Group.Multiplicative, Data.Group.Sugar, Data.Group.Multiplicative.Sugar, Data.Ring, Data.Ring.Boolean, Data.Ring.FromNum, Data.Ring.ModularArithmetic, Data.Ring.Module, Data.Monoid.Applicative, Data.Monoid.Monad, Data.Ring.Semi.Natural, Data.Ring.Algebra, Data.Ring.Module.AutomaticDifferentiation, Data.Field, Data.Field.VectorSpaceimport Control . Monad ( MonadPlus )
-import Data . Monoid . Reducer
-import Test . QuickCheck
+import Data . Monoid . Reducer
+import Test . QuickCheck
+
hunk ./doc/html/monoids/src/Data-Monoid-Combinators.html 42
-
-
-cycle :: Monoid m => m -> m
-cycle xs = xs' where xs' = xs `mappend` xs'
-
-
-repeat :: ( e `Reducer` m ) => e -> m
-repeat x = xs where xs = cons x xs
-
-
-
-replicate :: ( Monoid m , Integral n ) => m -> n -> m
-replicate x0 y0
- | y0 < 0 = mempty
- | y0 == 0 = mempty
- | otherwise = f x0 y0
- where
- f x y
- | even y = f ( x `mappend` x ) ( y `quot` 2 )
- | y == 1 = x
- | otherwise = g ( x `mappend` x ) ( ( y 1 ) `quot` 2 ) x
- g x y z
- | even y = g ( x `mappend` x ) ( y `quot` 2 ) z
- | y == 1 = x `mappend` z
- | otherwise = g ( x `mappend` x ) ( ( y 1 ) `quot` 2 ) ( x `mappend` z )
-
-
-prop_replicate_right_distributive :: ( Eq m , Monoid m , Arbitrary m , Integral n ) => m -> n -> n -> Bool
-prop_replicate_right_distributive m x y
- = replicate m ( x + y ) == replicate m x `mappend` replicate m y
+
+cycle :: Monoid m => m -> m
+cycle xs = xs' where xs' = xs `mappend` xs'
+
+
+repeat :: ( e `Reducer` m ) => e -> m
+repeat x = xs where xs = cons x xs
+
+
+
+replicate :: ( Monoid m , Integral n ) => m -> n -> m
+replicate x0 y0
+ | y0 < 0 = mempty
+ | y0 == 0 = mempty
+ | otherwise = f x0 y0
+ where
+ f x y
+ | even y = f ( x `mappend` x ) ( y `quot` 2 )
+ | y == 1 = x
+ | otherwise = g ( x `mappend` x ) ( ( y 1 ) `quot` 2 ) x
+ g x y z
+ | even y = g ( x `mappend` x ) ( y `quot` 2 ) z
+ | y == 1 = x `mappend` z
+ | otherwise = g ( x `mappend` x ) ( ( y 1 ) `quot` 2 ) ( x `mappend` z )
+
+
+prop_replicate_right_distributive :: ( Eq m , Monoid m , Arbitrary m , Integral n ) => m -> n -> n -> Bool
+prop_replicate_right_distributive m x y
+ = replicate m ( x + y ) == replicate m x `mappend` replicate m y
hunk ./doc/html/monoids/src/Data-Monoid-Union.html 40
-import Data . Monoid . Reducer ( Reducer , unit , cons , snoc , Monoid , mappend , mempty )
+import Data . Monoid . Reducer
hunk ./doc/html/monoids/src/Data-Monoid-Union.html 93
-class HasUnionWith f where
+class Functor f => HasUnionWith f where
hunk ./doc/html/monoids/src/Data-Monoid-Union.html 107
-
-
-newtype UnionWith f m = UnionWith { getUnionWith :: f m }
- deriving ( Eq , Ord , Show , Read , Functor , Pointed , Monad )
-
-instance ( HasUnionWith f , Monoid m ) => Monoid ( UnionWith f m ) where
- mempty = UnionWith emptyWith
- UnionWith a `mappend` UnionWith b = UnionWith ( unionWith mappend a b )
-
-instance ( HasUnionWith f , Monoid m ) => Reducer ( f m ) ( UnionWith f m ) where
- unit = UnionWith
-
+
+newtype UnionWith f m = UnionWith { getUnionWith :: f m }
+ deriving ( Eq , Ord , Show , Read , Functor , Pointed , Monad )
+
+instance ( HasUnionWith f , Monoid m ) => Monoid ( UnionWith f m ) where
+ mempty = UnionWith emptyWith
+ UnionWith a `mappend` UnionWith b = UnionWith ( unionWith mappend a b )
+
+instance ( HasUnionWith f , Monoid m ) => Reducer ( f m ) ( UnionWith f m ) where
+ unit = UnionWith
+
+
hunk ./doc/html/monoids/src/Data-Ring-Module.html 35
-
+import Data . Monoid . Union
hunk ./doc/html/monoids/src/Data-Ring-Module.html 37
-
-class ( Monoid r , Multiplicative r , Monoid m ) => LeftModule r m where
- ( *. ) :: r -> m -> m
-
-
-class ( Monoid r , Multiplicative r , Monoid m ) => RightModule r m where
- ( .* ) :: m -> r -> m
-
-
-class ( LeftModule r m , RightModule r m ) => Module r m
-
-instance ( LeftModule r m , LeftModule r n ) => LeftModule r ( m , n ) where
- r *. ( m , n ) = ( r *. m , r *. n )
-instance ( LeftModule r m , LeftModule r n , LeftModule r o ) => LeftModule r ( m , n , o ) where
- r *. ( m , n , o ) = ( r *. m , r *. n , r *. o )
-instance ( LeftModule r m , LeftModule r n , LeftModule r o , LeftModule r p ) => LeftModule r ( m , n , o , p ) where
- r *. ( m , n , o , p ) = ( r *. m , r *. n , r *. o , r *. p )
-instance ( LeftModule r m , LeftModule r n , LeftModule r o , LeftModule r p , LeftModule r q ) => LeftModule r ( m , n , o , p , q ) where
- r *. ( m , n , o , p , q ) = ( r *. m , r *. n , r *. o , r *. p , r *. q )
-
-instance ( RightModule r m , RightModule r n ) => RightModule r ( m , n ) where
- ( m , n ) .* r = ( m .* r , n .* r )
-instance ( RightModule r m , RightModule r n , RightModule r o ) => RightModule r ( m , n , o ) where
- ( m , n , o ) .* r = ( m .* r , n .* r , o .* r )
-instance ( RightModule r m , RightModule r n , RightModule r o , RightModule r p ) => RightModule r ( m , n , o , p ) where
- ( m , n , o , p ) .* r = ( m .* r , n .* r , o .* r , p .* r )
-instance ( RightModule r m , RightModule r n , RightModule r o , RightModule r p , RightModule r q ) => RightModule r ( m , n , o , p , q ) where
- ( m , n , o , p , q ) .* r = ( m .* r , n .* r , o .* r , p .* r , q .* r )
-
-instance ( Module r m , Module r n ) => Module r ( m , n )
-instance ( Module r m , Module r n , Module r o ) => Module r ( m , n , o )
-instance ( Module r m , Module r n , Module r o , Module r p ) => Module r ( m , n , o , p )
-instance ( Module r m , Module r n , Module r o , Module r p , Module r q ) => Module r ( m , n , o , p , q )
+
+
+
+class ( Monoid r , Multiplicative r , Monoid m ) => LeftModule r m where
+ ( *. ) :: r -> m -> m
+
+
+class ( Monoid r , Multiplicative r , Monoid m ) => RightModule r m where
+ ( .* ) :: m -> r -> m
+
+
+class ( LeftModule r m , RightModule r m ) => Module r m
+
+instance ( LeftModule r m , LeftModule r n ) => LeftModule r ( m , n ) where
+ r *. ( m , n ) = ( r *. m , r *. n )
+instance ( LeftModule r m , LeftModule r n , LeftModule r o ) => LeftModule r ( m , n , o ) where
+ r *. ( m , n , o ) = ( r *. m , r *. n , r *. o )
+instance ( LeftModule r m , LeftModule r n , LeftModule r o , LeftModule r p ) => LeftModule r ( m , n , o , p ) where
+ r *. ( m , n , o , p ) = ( r *. m , r *. n , r *. o , r *. p )
+instance ( LeftModule r m , LeftModule r n , LeftModule r o , LeftModule r p , LeftModule r q ) => LeftModule r ( m , n , o , p , q ) where
+ r *. ( m , n , o , p , q ) = ( r *. m , r *. n , r *. o , r *. p , r *. q )
+
+instance ( RightModule r m , RightModule r n ) => RightModule r ( m , n ) where
+ ( m , n ) .* r = ( m .* r , n .* r )
+instance ( RightModule r m , RightModule r n , RightModule r o ) => RightModule r ( m , n , o ) where
+ ( m , n , o ) .* r = ( m .* r , n .* r , o .* r )
+instance ( RightModule r m , RightModule r n , RightModule r o , RightModule r p ) => RightModule r ( m , n , o , p ) where
+ ( m , n , o , p ) .* r = ( m .* r , n .* r , o .* r , p .* r )
+instance ( RightModule r m , RightModule r n , RightModule r o , RightModule r p , RightModule r q ) => RightModule r ( m , n , o , p , q ) where
+ ( m , n , o , p , q ) .* r = ( m .* r , n .* r , o .* r , p .* r , q .* r )
+
+instance ( Module r m , Module r n ) => Module r ( m , n )
+instance ( Module r m , Module r n , Module r o ) => Module r ( m , n , o )
+instance ( Module r m , Module r n , Module r o , Module r p ) => Module r ( m , n , o , p )
+instance ( Module r m , Module r n , Module r o , Module r p , Module r q ) => Module r ( m , n , o , p , q )
+
+
+
+instance ( HasUnionWith f , Ord r , Eq r , RightSemiNearRing r ) => LeftModule r ( UnionWith f r ) where
+ r *. m | r == zero = zero
+ | otherwise = fmap ( r `times` ) m
+instance ( HasUnionWith f , Ord r , Eq r , RightSemiNearRing r ) => RightModule r ( UnionWith f r ) where
+ m .* r | r == zero = zero
+ | otherwise = fmap ( `times` r ) m
+instance ( HasUnionWith f , Ord r , Eq r , RightSemiNearRing r ) => Module r ( UnionWith f r ) where
hunk ./doc/html/monoids/src/Data-Ring-Semi-Near-Trie.html 1
+
+
+
+
+Data/Ring/Semi/Near/Trie.hs
+
+
+
+
+module Data . Ring . Semi . Near . Trie
+ ( module Data . Ring . Semi . Near
+ , Trie ( Trie , total , label , children )
+ , singleton
+ , empty
+ , null
+ ) where
+
+
+import Data . Map ( Map )
+import qualified Data . Map as Map
+
+
+import Data . Monoid . Union hiding ( empty )
+
+import Data . Ring . Semi . Near
+import Prelude hiding ( null )
+
+singleton :: ( Ord c , c `Reducer` m ) => c -> Trie c m
+singleton = unit
+
+empty :: ( Ord c , Monoid m ) => Trie c m
+empty = zero
+
+null :: Ord c => Trie c m -> Bool
+null = Map . null . getUnionWith . children
+
+data Trie c m = Trie { total :: m , label :: m , children :: UnionWith ( Map c ) ( Trie c m ) }
+ deriving ( Eq , Show )
+
+instance Functor ( Trie c ) where
+ fmap f ( Trie t e r ) = Trie ( f t ) ( f e ) ( fmap ( fmap f ) r )
+
+instance ( Ord c , Monoid m ) => Monoid ( Trie c m ) where
+ mempty = Trie mempty mempty mempty
+ Trie x y z `mappend` Trie x' y' z' = Trie ( x `mappend` x' ) ( y `mappend` y' ) ( z `mappend` z' )
+
+instance ( Ord c , c `Reducer` m ) => Reducer c ( Trie c m ) where
+ unit c = Trie r zero . UnionWith $ flip Map . singleton ( Trie r r zero ) c where r = unit c
+
+
+
+
}