<-      !"#$%&'()*+,-./0123456789: ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !!"""###$%%%%%%%%%%%%&'(((())))****++,,,,,,,,----------...../////000001111122222222222222222222222223333333333444 4 4 5 5 5666777777777777888 8!8"8#9$9%9&:':(:):*;+;,;> Safe-Infered-./0123456789:;<=>?@-./0123456789:;<=>?@ Safe-InferedABCDEFGHIJKLMNOPQRSABCDEFGHIJKLMNOPQRS Safe-Infered TUVWXYZ[\]^_`abcd   TUVWXYZ[\]^_`abcd Safe-Infered efghijklmnopqrstuvw    efghijklmnopqrstuvw Safe-Infered0An additive semigroup with idempotent addition.  a + a = a an additive abelian semigroup a + b = b + a UpartitionWith f c returns a list containing f a b for each a b such that a + b = c,   (a + b) + c = a + (b + c)  sinnum 1 a = a , sinnum (2 * n) a = sinnum n a + sinnum n a 4 sinnum (2 * n + 1) a = sinnum n a + sinnum n a + a  sinnum1p n r = sinnum (1 + n) r Axyz{|}~  =xyz{|}~ Safe-Infered An additive monoid  zero + a = a = a + zero *@An associative algebra built with a free module over a semiring ,eA pair of an additive abelian semigroup, and a multiplicative semigroup, with the distributive laws:  E a(b + c) = ab + ac -- left distribution (we are a LeftNearSemiring) I (a + b)c = ac + bc -- right distribution (we are a [Right]NearSemiring) XCommon notation includes the laws for additive and multiplicative identity in semiring. If you want that, look at Rig instead.  Ideally we'd use the cyclic definition:  ` class (LeftModule r r, RightModule r r, Additive r, Abelian r, Multiplicative r) => Semiring r Nto enforce that every semiring r is an r-module over itself, but Haskell doesn' t like that. -A multiplicative semigroup 2the free commutative coalgebra over a set and Int @the free commutative coalgebra over a set and a given semigroup -the free commutative band coalgebra over Int $the free commutative band coalgebra The tensor Hopf algebra The tensor Hopf algebra NEvery coalgebra gives rise to an algebra by vector space duality classically. N Sadly, it requires vector space duality, which we cannot use constructively. ~ The dual argument only relies in the fact that any constructive coalgebra can only inspect a finite number of coefficients,  which we CAN exploit. The tensor algebra The tensor algebra  !"#$%&'()*+,-./01234      !"#$%&'()*+,-./0123456789:;<=>?@ABCD !"#$%&'()*+,-./01234-./021,&'$%# !"34*+() !"#$%&'()*+,-./01234      !"#$%&'()*+,-./0123456789:;<=>?@ABCD Safe-Infered56789EFGHIJKLMNOPQRSTUV567895678956789EFGHIJKLMNOPQRSTUV  Safe-Infered:`factorWith f c`% returns a non-empty list containing `f a b` for all `a, b` such that ` a * b = c`. _Results of factorWith f 0 are undefined and may result in either an error or an infinite list. :;WXYZ[\:;:;:;WXYZ[\  Safe-Infered<=A bialgebra is both a unital algebra and counital coalgebra  where the + and @$ are compatible in some sense with  the ) and >. That is to say that  + and @7 are a coalgebra homomorphisms or (equivalently) that  ) and > are an algebra homomorphisms. ?IAn associative unital algebra over a semiring, built using a free module 3<=>?@ABCDE]^_`abcdefghijklmnopqrstuvwxyz{|}~ <=>?@ABCDE ABCDE?@=><.<=>?@ABCDE]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-InferedI<An multiplicative semigroup with idempotent multiplication.  a * a = a FGHIJKFGHIJKIJKHGFFGHIJK< Safe-InferedIJKIJK  Safe-Infered LMNOPQRLMNOPQRNOPQRLMLMNOPQR  Safe-InferedS?A HopfAlgebra algebra on a semiring, where the module is free. When antipode . antipode = idM and antipode is an antihomomorphism then we are an InvolutiveBialgebra with inv = antipode as well STSTSTST Safe-InferedVBb is an associate of a if there exists a unit u such that b = a*u UThis relationship is symmetric because if u is a unit, u^-1 exists and is a unit, so  b*u^-1 = a*u*u^-1 = a UVWXUVWXUVWXUVWX Safe-InferedYZ[\]^YZ[\]^YZ[\]^YZ[\]^ Safe-Infered_`_`_`_` Safe-InferedaA Ring without (n)egation abcdabcdabcdabcd Safe-InferedNB: we'4re using the boolean semiring, not the boolean ring efghefghefghefgh Safe-InferediA Ring without an i dentity. iiii Safe-Inferedjkl     jkljkljkl      Safe-Inferedmmmm Safe-Inferednnnn Safe-Inferedo7a rectangular band is a nowhere commutative semigroup. = That is to say, if ab = ba then a = b. From this it follows = classically that aa = a and that such a band is isomorphic  to the following structure opopopop= Safe-Infered#$%&'&'$%# Safe-Inferedq*An integral semiring has no zero divisors $ a * b = 0 implies a == 0 || b == 0 qqqq Safe-Inferedu'A commutative multiplicative semigroup -rstu !"#$%&'()*+,-./0123456789:;<=>?rstuutsr-rstu !"#$%&'()*+,-./0123456789:;<=>? Safe-Infered~  adjoint = id (adjoint (x + y) = adjoint x + adjoint y An semigroup with involution ) adjoint a * adjoint b = adjoint (b * a) \vwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ vwxyz{|}~ |}yzw~{xvYvwxyz{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~> Safe-Infered Safe-InferedNone Safe-InferedJLinear functionals from elements of an (infinite) free module to a scalar TconvolveM antipodeM return = convolveM return antipodeM = comultM >=> uncurry joinM % $ Safe-Infered Safe-Infered  Safe-Infered! Safe-Infered" Safe-Infered# Safe-Infered$ Safe-Infered% Safe-Infered ` Additive.(+)` default definition ?@ default definition AB default definition AC default definition DE default definition ` Group.(-)` default definition DF default definition DG default definition `Multiplicative.(*)` default definition HI default definition JK default definition LM default definition & Safe-Inferedz + x < = z + y = x < = y = x + z <= y + z  ' Safe-Infered  ( Safe-Infered) Safe-Infered* Safe-Infered!the dual incidence algebra basis + Safe-Infered Safe-Infered  !"#$%&'()*+,-./013456789:;<=>?@ABCDEFHIJKLMNOPQRSTUY_abefghijkmnrstuvwxyz{|}~4 !"356789-./01uABCDEIJKNOPQR:;~,iabjkmn&'$%#*+()?@=><|}yzw{xvHFtrsLMSTefgh _YU, Safe-Infered3half of the Cayley-Dickson quaternion isomorphism C      !"#$%&' @      !"#$%&'- Safe-Infered0Cayley-Dickson quaternion isomorphism (one way) (the trivial diagonal coalgebra )the quaternion algebra G*+,-./012345678(9):;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdB*+,-./012345678(9):;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd. Safe-Infereddual number basis, D^2 = 0. D /= 0. >efghijklmnopqrstuvwxyz{|}~ ;efghijklmnopqrstuvwxyz{|}~/ Safe-Infered;80 Safe-Infered'the hyperbolic trigonometric coalgebra the trivial diagonal algebra 961 Safe-Infereddual number basis, D^2 = 0. D /= 0. >      !"#$%&'()*+,-./0123456789:;<=>?@ ;      !"#$%&'()*+,-./0123456789:;<=>?@2NoneABCDEFABCDEF3 Safe-Infered0Cayley-Dickson quaternion isomorphism (one way) G!dual quaternion comultiplication Hthe trivial diagonal algebra GIJKLMNOPQRSTUVWGXHYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~BIJKLMNOPQRSTUVWGXHYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4 Safe-InferedB      ?  5 Safe-Infered             6 Safe-Infered  7 Safe-InferedIlinear maps from elements of a free module to another free module over r  " f $# x + y = (f $# x) + (f $# y)  f $# (r .* x) = r .* (f $# x)  Map r b a; represents a linear mapping from a free module with basis a over r to a free module with basis b over r. ]Note well the reversed direction of the arrow, due to the contravariance of change of basis! ]This way enables we can employ arbitrary pure functions as linear maps by lifting them using , or build them l by using the monad instance for Map r b. As a consequence Map is an instance of, well, almost everything. .extract a linear functional from a linear map M(inefficiently) combine a linear combination of basis vectors to make a map. 4 arrMap :: (Monoidal r, Semiring r) => (b -> [(r, a)]) -> Map r b a  arrMap f = Map $ k b -> sum [ r * k a | (r, a) <- f b ] 'Memoize the results of this linear map Econvolution given an associative algebra and coassociative coalgebra =  <8 Safe-Infered\The endomorphism ring of an abelian group or the endomorphism semiring of an abelian monoid http:en.wikipedia.orgwikiEndomorphism_ring  !"      !" !" !"     9 Safe-Infered#http:en.wikipedia.orgwikiOpposite_ring #$% !"#$%&'()*+,#$%#$%#$% !"#$%&'()*+,: Safe-Infered&=The free Ring given a Rng obtained by adjoining Z, such that   RngRing r = n*1 + r "This ring is commonly denoted r^. ()The rng homomorphism from r to RngRing r )igiven a rng homomorphism from a rng r into a ring s, liftRngHom yields a ring homomorphism from the ring `r^` into s. &'()-./0123456789:;<=&'()&'()&'()-./0123456789:;<=; Safe-Infered*+,>?@ABCDEFGHIJ*+,*+,*+,>?@ABCDEFGHIJKNOPNOQNORSTUVWXYZ[\]^_`abcdefgh?i@jklABCmnopqrstuvwxyz{|}~DEFG     H I        JKLM  !!"""###$%%%%%%%%%%%%&'(((())))****++,,,,,,,,----------.... ./ / / / / 000001111 12222222222222222 2!2"2#2$2%2&2'2(2)3*3*3+3,3-3.3/303132434344454657575869696:7;7;7<7=7>7?7@7A7B7C7D7E8F8F8G8H8I8J9K9K9L:M:M:N:O;P;P;QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ | } ~                                                                                 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$&&&&&&&&''''''''((((((((((((((((((())**+++++++++++ + + + + ++++,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~-G-H--E-F------.....................................................H....//////////////////////////////////////////////////////0000000000000000000000 0 0 0 0 0000000000000000000 0!0"0#0$00%0&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y11H1Z1[1\1]2^2_2`2a2b2c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~33333333333333333333333~3G3H33E3F33333344444444444444444444444444444444444444444444444444E4F444G4H444444555555666666666677777777777777777777777777777777777 7 7 7 7 7777777777888888888 8!8"8#8$8%8&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R;S;T;U;V;W;X;Y;Z;[;\;];^;_` algebra-2.1Numeric.AlgebraNumeric.Partial.SemigroupNumeric.Partial.MonoidNumeric.Partial.GroupNumeric.Order.ClassNumeric.Additive.ClassNumeric.Algebra.ClassNumeric.Additive.GroupNumeric.Algebra.FactorableNumeric.Algebra.UnitalNumeric.Algebra.IdempotentNumeric.Algebra.DivisionNumeric.Algebra.HopfNumeric.Decidable.AssociatesNumeric.Decidable.UnitsNumeric.Decidable.ZeroNumeric.Rig.ClassNumeric.Rig.CharacteristicNumeric.Rng.ClassNumeric.Ring.ClassNumeric.Ring.LocalNumeric.Ring.DivisionNumeric.Band.RectangularNumeric.Semiring.IntegralNumeric.Algebra.CommutativeNumeric.Algebra.InvolutiveNumeric.Field.ClassNumeric.Coalgebra.CategoricalNumeric.Covector#Numeric.Algebra.Distinguished.ClassNumeric.Algebra.Complex.Class Numeric.Algebra.Quaternion.ClassNumeric.Algebra.Dual.Class"Numeric.Coalgebra.Hyperbolic.Class%Numeric.Coalgebra.Trigonometric.ClassNumeric.Dioid.ClassNumeric.Module.RepresentableNumeric.Order.AdditiveNumeric.Rig.OrderedNumeric.Order.LocallyFiniteNumeric.Algebra.IncidenceNumeric.Coalgebra.IncidenceNumeric.Quadrance.ClassNumeric.Algebra.ComplexNumeric.Algebra.QuaternionNumeric.Algebra.DualNumeric.Algebra.HyperbolicNumeric.Coalgebra.HyperbolicNumeric.Coalgebra.DualNumeric.Coalgebra.GeometricNumeric.Coalgebra.QuaternionNumeric.Coalgebra.Trigonometric Numeric.Exp Numeric.Log Numeric.MapNumeric.Ring.EndomorphismNumeric.Ring.OppositeNumeric.Ring.RngNumeric.Rng.ZeroNumeric.Band.ClassNumeric.Module.ClassNumeric.Semiring.InvolutiveAdditivesinnum1pMonoidalzerosinnumGroupnegatesubtracttimesUnitaloneRig fromNaturalRing fromIntegersemigroups-0.8Numeric.Natural.InternalNatural toNaturalWholePartialSemigrouppadd PartialMonoidpzero PartialGrouppnegatepminus psubtractOrder<~<>~>~~/~order comparableorderOrd IdempotentAbelian Partitionable partitionWith+sumWith1sum1sinnum1pIdempotentsumWithModule RightModule*. LeftModule.* CoalgebracomultAlgebramultSemiringMultiplicative*pow1p productWith1product1 pow1pIntegralsumsinnumIdempotent- Factorable factorWith BialgebraCounitalCoalgebracounit UnitalAlgebraunitpow productWithproductIdempotentBialgebraIdempotentCoalgebraIdempotentAlgebraBand pow1pBandpowBandDivisionAlgebra recipriocalDivisionrecip/\\^ HopfAlgebraantipodeDecidableAssociates isAssociateisAssociateIntegralisAssociateWholeDecidableUnits recipUnitisUnit^?recipUnitIntegralrecipUnitWhole DecidableZeroisZerofromNaturalNum fromWholeCharacteristiccharcharIntcharWordRng fromIntegral LocalRing DivisionRingRectIntegralSemiringCommutativeBialgebraCocommutativeCoalgebraCommutativeAlgebra CommutativeTriviallyInvolutiveBialgebraInvolutiveBialgebraTriviallyInvolutiveCoalgebraInvolutiveCoalgebracoinvTriviallyInvolutiveAlgebraInvolutiveAlgebrainvTriviallyInvolutiveInvolutiveSemiringInvolutiveMultiplicationadjointFieldMorphismCovector$*multMunitMcomultMcounitM convolveMinvMcoinvM antipodeMmemoM Distinguishede Complicatedi Hamiltonianjk Infinitesimald Hyperboliccoshsinh TrigonometriccossinDioidaddRep sinnum1pRepzeroRep sinnumRep negateRepminusRep subtractReptimesRepmulReponeRepfromNaturalRepfromIntegerRep AdditiveOrder OrderedRigLocallyFiniteOrderrange rangeSizemoebiusInversionIntervalzetamoebius Interval'zeta'moebius' Quadrance quadranceComplex ComplexBasisIErealPartimagPart uncomplicate QuaternionQuaternionBasisKJ complicate scalarPart vectorPartDual DualBasisDHyper' HyperBasis'Sinh'Cosh'Hyper HyperBasisSinhCoshDual' DualBasis' Euclidean Comultivector Eigenmetricmetric Eigenbasis euclidean antiEuclideanv BasisCobladerunBasisCobladegrade filterGradereversecliffordConjugategradeInversion geometricouter contractL contractRdothestenes liftProduct Quaternion'QuaternionBasis'K'J'I'E' complicate' scalarPart' vectorPart'Trig TrigBasisSinCosExprunExpLogrunLogMap$@memoMap comultMapmultMap counitMapunitMap convolveMap antipodeMapcoinvMapinvMapEndappEndtoEndfromEnd frobeniusOpposite runOppositeRngRing rngRingHom liftRngHomZeroRng runZeroRng$fPartialSemigroupEither$fPartialSemigroup(,,,,)$fPartialSemigroup(,,,)$fPartialSemigroup(,,)$fPartialSemigroup(,)$fPartialSemigroup()$fPartialSemigroupBool$fPartialSemigroupMaybe$fPartialSemigroupWord64$fPartialSemigroupWord32$fPartialSemigroupWord16$fPartialSemigroupWord8$fPartialSemigroupWord$fPartialSemigroupInt64$fPartialSemigroupInt32$fPartialSemigroupInt16$fPartialSemigroupInt8$fPartialSemigroupNatural$fPartialSemigroupInteger$fPartialSemigroupInt$fPartialMonoid(,,,,)$fPartialMonoid(,,,)$fPartialMonoid(,,)$fPartialMonoid(,)$fPartialMonoidMaybe$fPartialMonoid()$fPartialMonoidWord64$fPartialMonoidWord32$fPartialMonoidWord16$fPartialMonoidWord8$fPartialMonoidWord$fPartialMonoidInt64$fPartialMonoidInt32$fPartialMonoidInt16$fPartialMonoidInt8$fPartialMonoidNatural$fPartialMonoidInteger$fPartialMonoidInt$fPartialMonoidBool$fPartialGroup(,,,,)$fPartialGroup(,,,)$fPartialGroup(,,)$fPartialGroup(,)$fPartialGroup()$fPartialGroupNatural$fPartialGroupWord64$fPartialGroupWord32$fPartialGroupWord16$fPartialGroupWord8$fPartialGroupWord$fPartialGroupInt64$fPartialGroupInt32$fPartialGroupInt16$fPartialGroupInt8$fPartialGroupInteger$fPartialGroupInt $fOrder(,,,,) $fOrder(,,,) $fOrder(,,) $fOrder(,) $fOrder() $fOrderSet $fOrderWord64 $fOrderWord32 $fOrderWord16 $fOrderWord8 $fOrderWord$fOrderNatural $fOrderInt64 $fOrderInt32 $fOrderInt16 $fOrderInt8 $fOrderInt$fOrderInteger $fOrderBool$fIdempotent(,,,,)$fIdempotent(,,,)$fIdempotent(,,)$fIdempotent(,)$fIdempotent:->:$fIdempotent(->)$fIdempotentBool$fIdempotent()$fAbelian(,,,,)$fAbelian(,,,) $fAbelian(,,) $fAbelian(,)$fAbelianWord64$fAbelianWord32$fAbelianWord16$fAbelianWord8 $fAbelianWord$fAbelianInt64$fAbelianInt32$fAbelianInt16 $fAbelianInt8 $fAbelianInt$fAbelianNatural$fAbelianInteger $fAbelianBool $fAbelian() $fAbelian:->: $fAbelian(->)$fPartitionable(,,,,)$fPartitionable(,,,)$fPartitionable(,,)$fPartitionable(,)$fPartitionable()$fPartitionableNatural$fPartitionableBool$fAdditive(,,,,)$fAdditive(,,,)$fAdditive(,,) $fAdditive(,) $fAdditive()$fAdditiveWord64$fAdditiveWord32$fAdditiveWord16$fAdditiveWord8$fAdditiveWord$fAdditiveInt64$fAdditiveInt32$fAdditiveInt16$fAdditiveInt8 $fAdditiveInt$fAdditiveInteger$fAdditiveNatural$fAdditiveBool$fAdditive:->:$fAdditive(->)$fCoalgebrarIntMap$fCoalgebrarMap$fCoalgebrarIntSet$fCoalgebrarSet$fCoalgebrarSeq$fCoalgebrar[]$fCoalgebrar(->) $fAlgebrarSeq $fAlgebrar[]$fMonoidal(,,,,)$fMonoidal(,,,)$fMonoidal(,,) $fMonoidal(,) $fMonoidal()$fMonoidal:->:$fMonoidal(->)$fMonoidalWord64$fMonoidalWord32$fMonoidalWord16$fMonoidalWord8$fMonoidalWord$fMonoidalInt64$fMonoidalInt32$fMonoidalInt16$fMonoidalInt8 $fMonoidalInt$fMonoidalInteger$fMonoidalNatural$fMonoidalBool $fModulerm$fRightModuler(,,,,)$fRightModuler(,,,)$fRightModuler(,,)$fRightModuler(,)$fRightModule()m$fRightModuler:->:$fRightModuler(->)$fRightModuler()$fRightModuleIntegerWord64$fRightModuleNaturalWord64$fRightModuleIntegerWord32$fRightModuleNaturalWord32$fRightModuleIntegerWord16$fRightModuleNaturalWord16$fRightModuleIntegerWord8$fRightModuleNaturalWord8$fRightModuleIntegerWord$fRightModuleNaturalWord$fRightModuleIntegerInt64$fRightModuleNaturalInt64$fRightModuleIntegerInt32$fRightModuleNaturalInt32$fRightModuleIntegerInt16$fRightModuleNaturalInt16$fRightModuleIntegerInt8$fRightModuleNaturalInt8$fRightModuleIntegerInt$fRightModuleNaturalInt$fRightModuleIntegerInteger$fRightModuleNaturalInteger$fRightModuleNaturalNatural$fRightModuleNaturalBool$fLeftModuler(,,,,)$fLeftModuler(,,,)$fLeftModuler(,,)$fLeftModuler(,)$fLeftModule()m$fLeftModuler:->:$fLeftModuler(->)$fLeftModuler()$fLeftModuleIntegerWord64$fLeftModuleNaturalWord64$fLeftModuleIntegerWord32$fLeftModuleNaturalWord32$fLeftModuleIntegerWord16$fLeftModuleNaturalWord16$fLeftModuleIntegerWord8$fLeftModuleNaturalWord8$fLeftModuleIntegerWord$fLeftModuleNaturalWord$fLeftModuleIntegerInt64$fLeftModuleNaturalInt64$fLeftModuleIntegerInt32$fLeftModuleNaturalInt32$fLeftModuleIntegerInt16$fLeftModuleNaturalInt16$fLeftModuleIntegerInt8$fLeftModuleNaturalInt8$fLeftModuleIntegerInt$fLeftModuleNaturalInt$fLeftModuleIntegerInteger$fLeftModuleNaturalInteger$fLeftModuleNaturalNatural$fLeftModuleNaturalBool$fCoalgebrar(,,,,)$fCoalgebrar(,,,)$fCoalgebrar(,,)$fCoalgebrar(,)$fCoalgebrar()$fCoalgebrar:->:$fAlgebrar(,,,,)$fAlgebrar(,,,)$fAlgebrar(,,) $fAlgebrar(,)$fAlgebrarIntMap $fAlgebrarMap$fAlgebrarIntSet $fAlgebrarSet $fAlgebrar() $fAlgebra()a$fSemiring:->:$fSemiring(->)$fSemiring(,,,,)$fSemiring(,,,)$fSemiring(,,) $fSemiring(,) $fSemiring()$fSemiringWord64$fSemiringWord32$fSemiringWord16$fSemiringWord8$fSemiringWord$fSemiringInt64$fSemiringInt32$fSemiringInt16$fSemiringInt8 $fSemiringInt$fSemiringBool$fSemiringNatural$fSemiringInteger$fMultiplicative:->:$fMultiplicative(->)$fMultiplicative(,,,,)$fMultiplicative(,,,)$fMultiplicative(,,)$fMultiplicative(,)$fMultiplicative()$fMultiplicativeWord64$fMultiplicativeWord32$fMultiplicativeWord16$fMultiplicativeWord8$fMultiplicativeWord$fMultiplicativeInt64$fMultiplicativeInt32$fMultiplicativeInt16$fMultiplicativeInt8$fMultiplicativeInt$fMultiplicativeInteger$fMultiplicativeNatural$fMultiplicativeBool $fGroup(,,,,) $fGroup(,,,) $fGroup(,,) $fGroup(,) $fGroup() $fGroupWord64 $fGroupWord32 $fGroupWord16 $fGroupWord8 $fGroupWord $fGroupInt64 $fGroupInt32 $fGroupInt16 $fGroupInt8 $fGroupInt$fGroupInteger $fGroup:->: $fGroup(->)$fFactorable(,,,,)$fFactorable(,,,)$fFactorable(,,)$fFactorable(,)$fFactorable()$fFactorableBool$fBialgebrarSeq$fBialgebrar[]$fBialgebrar(,,,,)$fBialgebrar(,,,)$fBialgebrar(,,)$fBialgebrar(,)$fBialgebrar()$fCounitalCoalgebrarSeq$fCounitalCoalgebrar[]$fCounitalCoalgebrar(,,,,)$fCounitalCoalgebrar(,,,)$fCounitalCoalgebrar(,,)$fCounitalCoalgebrar(,)$fCounitalCoalgebrar()$fCounitalCoalgebrar(->)$fUnitalAlgebrarSeq$fUnitalAlgebrar[]$fUnitalAlgebrar(,,,,)$fUnitalAlgebrar(,,,)$fUnitalAlgebrar(,,)$fUnitalAlgebrar(,)$fUnitalAlgebrar() $fUnital(->)$fUnital(,,,,) $fUnital(,,,) $fUnital(,,) $fUnital(,) $fUnital()$fUnitalWord64$fUnitalWord32$fUnitalWord16 $fUnitalWord8 $fUnitalWord$fUnitalNatural $fUnitalInt64 $fUnitalInt32 $fUnitalInt16 $fUnitalInt8 $fUnitalInt$fUnitalInteger $fUnitalBool$fIdempotentBialgebrarh$fIdempotentCoalgebrar(,,,,)$fIdempotentCoalgebrar(,,,)$fIdempotentCoalgebrar(,,)$fIdempotentCoalgebrar(,)$fIdempotentCoalgebrar()$fIdempotentCoalgebrarIntSet$fIdempotentCoalgebrarSet$fIdempotentAlgebrar(,,,,)$fIdempotentAlgebrar(,,,)$fIdempotentAlgebrar(,,)$fIdempotentAlgebrar(,)$fIdempotentAlgebrar()$fIdempotentAlgebrarIntSet$fIdempotentAlgebrarSet $fBand(,,,,) $fBand(,,,) $fBand(,,) $fBand(,) $fBandBool$fBand()$fDivision(->)$fDivision(,,,,)$fDivision(,,,)$fDivision(,,) $fDivision(,) $fDivision()$fHopfAlgebrar(,,,,)$fHopfAlgebrar(,,,)$fHopfAlgebrar(,,)$fHopfAlgebrar(,)$fDecidableAssociates(,,,,)$fDecidableAssociates(,,,)$fDecidableAssociates(,,)$fDecidableAssociates(,)$fDecidableAssociates()$fDecidableAssociatesWord64$fDecidableAssociatesWord32$fDecidableAssociatesWord16$fDecidableAssociatesWord8$fDecidableAssociatesWord$fDecidableAssociatesNatural$fDecidableAssociatesInt64$fDecidableAssociatesInt32$fDecidableAssociatesInt16$fDecidableAssociatesInt8$fDecidableAssociatesInt$fDecidableAssociatesInteger$fDecidableAssociatesBool$fDecidableUnits(,,,,)$fDecidableUnits(,,,)$fDecidableUnits(,,)$fDecidableUnits(,)$fDecidableUnits()$fDecidableUnitsWord64$fDecidableUnitsWord32$fDecidableUnitsWord16$fDecidableUnitsWord8$fDecidableUnitsWord$fDecidableUnitsNatural$fDecidableUnitsInt64$fDecidableUnitsInt32$fDecidableUnitsInt16$fDecidableUnitsInt8$fDecidableUnitsInt$fDecidableUnitsInteger$fDecidableUnitsBool$fDecidableZero(,,,,)$fDecidableZero(,,,)$fDecidableZero(,,)$fDecidableZero(,)$fDecidableZero()$fDecidableZeroWord64$fDecidableZeroWord32$fDecidableZeroWord16$fDecidableZeroWord8$fDecidableZeroWord$fDecidableZeroNatural$fDecidableZeroInt64$fDecidableZeroInt32$fDecidableZeroInt16$fDecidableZeroInt8$fDecidableZeroInt$fDecidableZeroInteger$fDecidableZeroBool $fRig(,,,,) $fRig(,,,) $fRig(,,)$fRig(,)$fRig() $fRigWord64 $fRigWord32 $fRigWord16 $fRigWord8 $fRigWord $fRigInt64 $fRigInt32 $fRigInt16 $fRigInt8$fRigInt $fRigBool $fRigNatural $fRigInteger$fCharacteristicBool$fCharacteristic(,,,,)$fCharacteristic(,,,)$fCharacteristic(,,)$fCharacteristic(,)$fCharacteristic()$fCharacteristicWord64$fCharacteristicWord32$fCharacteristicWord16$fCharacteristicWord8$fCharacteristicWord$fCharacteristicInt64$fCharacteristicInt32$fCharacteristicInt16$fCharacteristicInt8$fCharacteristicInt$fCharacteristicNatural$fCharacteristicInteger$fRngr $fRing(,,,,) $fRing(,,,) $fRing(,,) $fRing(,)$fRing() $fRingWord64 $fRingWord32 $fRingWord16 $fRingWord8 $fRingWord $fRingInt64 $fRingInt32 $fRingInt16 $fRingInt8 $fRingInt $fRingInteger$fDivisionRingr $fBandRect$fMultiplicativeRect$fSemigroupoidRect$fIntegralSemiringBool$fIntegralSemiringNatural$fIntegralSemiringInteger$fCommutativeBialgebrarh$fCocommutativeCoalgebrarIntMap$fCocommutativeCoalgebrarMap$fCocommutativeCoalgebrarIntSet$fCocommutativeCoalgebrarSet$fCocommutativeCoalgebrar(,,,,)$fCocommutativeCoalgebrar(,,,)$fCocommutativeCoalgebrar(,,)$fCocommutativeCoalgebrar(,)$fCocommutativeCoalgebrar()$fCocommutativeCoalgebrar:->:$fCocommutativeCoalgebrar(->)$fCommutativeAlgebrarIntMap$fCommutativeAlgebrarMap$fCommutativeAlgebrarIntSet$fCommutativeAlgebrarSet$fCommutativeAlgebrar(,,,,)$fCommutativeAlgebrar(,,,)$fCommutativeAlgebrar(,,)$fCommutativeAlgebrar(,)$fCommutativeAlgebrar()$fCommutative:->:$fCommutative(->)$fCommutative(,,,,)$fCommutative(,,,)$fCommutative(,,)$fCommutative(,)$fCommutativeWord64$fCommutativeWord32$fCommutativeWord16$fCommutativeWord8$fCommutativeWord$fCommutativeNatural$fCommutativeInt64$fCommutativeInt32$fCommutativeInt16$fCommutativeInt8$fCommutativeInt$fCommutativeInteger$fCommutativeBool$fCommutative() $fTriviallyInvolutiveBialgebrarh$fInvolutiveBialgebrarh%$fTriviallyInvolutiveCoalgebrar(,,,,)$$fTriviallyInvolutiveCoalgebrar(,,,)#$fTriviallyInvolutiveCoalgebrar(,,)"$fTriviallyInvolutiveCoalgebrar(,)!$fTriviallyInvolutiveCoalgebrar()$fInvolutiveCoalgebrar(,,,,)$fInvolutiveCoalgebrar(,,,)$fInvolutiveCoalgebrar(,,)$fInvolutiveCoalgebrar(,)$fInvolutiveCoalgebrar()#$fTriviallyInvolutiveAlgebrar(,,,,)"$fTriviallyInvolutiveAlgebrar(,,,)!$fTriviallyInvolutiveAlgebrar(,,) $fTriviallyInvolutiveAlgebrar(,)$fTriviallyInvolutiveAlgebrar()$fInvolutiveAlgebrar(,,,,)$fInvolutiveAlgebrar(,,,)$fInvolutiveAlgebrar(,,)$fInvolutiveAlgebrar(,)$fInvolutiveAlgebrar()$fTriviallyInvolutive:->:$fTriviallyInvolutive(->)$fTriviallyInvolutive(,,,,)$fTriviallyInvolutive(,,,)$fTriviallyInvolutive(,,)$fTriviallyInvolutive(,)$fTriviallyInvolutive()$fTriviallyInvolutiveWord64$fTriviallyInvolutiveWord32$fTriviallyInvolutiveWord16$fTriviallyInvolutiveWord8$fTriviallyInvolutiveNatural$fTriviallyInvolutiveWord$fTriviallyInvolutiveInt64$fTriviallyInvolutiveInt32$fTriviallyInvolutiveInt16$fTriviallyInvolutiveInt8$fTriviallyInvolutiveInteger$fTriviallyInvolutiveInt$fTriviallyInvolutiveBool$fInvolutiveSemiring(,,,,)$fInvolutiveSemiring(,,,)$fInvolutiveSemiring(,,)$fInvolutiveSemiring(,)$fInvolutiveSemiringWord64$fInvolutiveSemiringWord32$fInvolutiveSemiringWord16$fInvolutiveSemiringWord8$fInvolutiveSemiringWord$fInvolutiveSemiringNatural$fInvolutiveSemiringInt64$fInvolutiveSemiringInt32$fInvolutiveSemiringInt16$fInvolutiveSemiringInt8$fInvolutiveSemiringInt$fInvolutiveSemiringInteger$fInvolutiveSemiringBool$fInvolutiveSemiring()$fInvolutiveMultiplication:->:$fInvolutiveMultiplication(->) $fInvolutiveMultiplication(,,,,)$fInvolutiveMultiplication(,,,)$fInvolutiveMultiplication(,,)$fInvolutiveMultiplication(,)$fInvolutiveMultiplication() $fInvolutiveMultiplicationWord64 $fInvolutiveMultiplicationWord32 $fInvolutiveMultiplicationWord16$fInvolutiveMultiplicationWord8!$fInvolutiveMultiplicationNatural$fInvolutiveMultiplicationWord$fInvolutiveMultiplicationBool$fInvolutiveMultiplicationInt64$fInvolutiveMultiplicationInt32$fInvolutiveMultiplicationInt16$fInvolutiveMultiplicationInt8!$fInvolutiveMultiplicationInteger$fInvolutiveMultiplicationInt$fFieldr$fCounitalCoalgebrarMorphism$fCoalgebrarMorphism$fRightModulerCovector$fRightModuleCovectorCovector$fLeftModulerCovector$fLeftModuleCovectorCovector$fGroupCovector$fAbelianCovector$fMonoidalCovector$fBandCovector$fIdempotentCovector$fRingCovector $fRigCovector$fUnitalCovector$fSemiringCovector$fCommutativeCovector$fMultiplicativeCovector$fAdditiveCovector$fMonadPlusCovector$fAlternativeCovector$fPlusCovector $fAltCovector$fMonadCovector$fBindCovector$fApplicativeCovector$fApplyCovector$fFunctorCovector$fDistinguishedCovector$fComplicatedCovector$fHamiltonianCovector$fInfinitesimalCovector$fHyperbolicCovector$fTrigonometricCovector$fDioidr$fAdditiveOrder(,,,,)$fAdditiveOrder(,,,)$fAdditiveOrder(,,)$fAdditiveOrder(,)$fAdditiveOrder()$fAdditiveOrderBool$fAdditiveOrderNatural$fAdditiveOrderInteger$fOrderedRig(,,,,)$fOrderedRig(,,,)$fOrderedRig(,,)$fOrderedRig(,)$fOrderedRig()$fOrderedRigBool$fOrderedRigNatural$fOrderedRigInteger$fLocallyFiniteOrder(,,,,)$fLocallyFiniteOrder(,,,)$fLocallyFiniteOrder(,,)$fLocallyFiniteOrder(,)$fLocallyFiniteOrder()$fLocallyFiniteOrderWord64$fLocallyFiniteOrderWord32$fLocallyFiniteOrderWord16$fLocallyFiniteOrderWord8$fLocallyFiniteOrderWord$fLocallyFiniteOrderInt64$fLocallyFiniteOrderInt32$fLocallyFiniteOrderInt16$fLocallyFiniteOrderInt8$fLocallyFiniteOrderInt$fLocallyFiniteOrderBool$fLocallyFiniteOrderSet$fLocallyFiniteOrderInteger$fLocallyFiniteOrderNatural$fUnitalAlgebrarInterval$fAlgebrarInterval$fCounitalCoalgebrarInterval'$fCoalgebrarInterval'$fQuadrancerWord64$fQuadrancerWord32$fQuadrancerWord16$fQuadrancerWord8$fQuadrancerInt64$fQuadrancerInt32$fQuadrancerInt16$fQuadrancerInt8$fQuadrancerInteger$fQuadrancerNatural$fQuadrancerWord$fQuadrancerInt$fQuadrancerBool$fQuadrancer(,,,,)$fQuadrancer(,,,)$fQuadrancer(,,)$fQuadrancer(,)$fQuadrancer()$fQuadrance()a$fDivisionComplex$fQuadrancerComplex$fInvolutiveSemiringComplex!$fInvolutiveMultiplicationComplex$fRightModuleComplexComplex$fLeftModuleComplexComplex $fRingComplex $fRigComplex$fUnitalComplex$fSemiringComplex$fCommutativeComplex$fMultiplicativeComplex$fHopfAlgebrakComplexBasis"$fInvolutiveCoalgebrakComplexBasis $fInvolutiveAlgebrakComplexBasis$fBialgebrakComplexBasis $fCounitalCoalgebrakComplexBasis$fCoalgebrakComplexBasis$fUnitalAlgebrakComplexBasis$fAlgebrakComplexBasis$fPartitionableComplex$fIdempotentComplex$fAbelianComplex$fGroupComplex$fMonoidalComplex$fRightModulerComplex$fLeftModulerComplex$fAdditiveComplex$fHasTrieComplexBasis$fTraversableWithKey1Complex$fTraversable1Complex$fFoldableWithKey1Complex$fFoldable1Complex$fTraversableWithKeyComplex$fTraversableComplex$fFoldableWithKeyComplex$fFoldableComplex $fMonadReaderComplexBasisComplex$fMonadComplex $fBindComplex$fApplicativeComplex$fApplyComplex$fKeyedComplex$fZipWithKeyComplex $fZipComplex$fFunctorComplex$fDistributiveComplex$fAdjustableComplex$fLookupComplex$fIndexableComplex$fRepresentableComplex$fComplicated:->:$fDistinguished:->:$fComplicated(->)$fDistinguished(->)$fComplicatedComplex$fDistinguishedComplex$fComplicatedComplexBasis$fDistinguishedComplexBasis$fCoalgebrarQuaternionBasis$fAlgebrarQuaternionBasis$fDivisionQuaternion$fQuadrancerQuaternion$$fInvolutiveMultiplicationQuaternion!$fRightModuleQuaternionQuaternion $fLeftModuleQuaternionQuaternion$fRingQuaternion$fRigQuaternion$fUnitalQuaternion$fSemiringQuaternion$fMultiplicativeQuaternion$fHopfAlgebrarQuaternionBasis%$fInvolutiveCoalgebrarQuaternionBasis#$fInvolutiveAlgebrarQuaternionBasis$fBialgebrarQuaternionBasis#$fCounitalCoalgebrarQuaternionBasis$fUnitalAlgebrarQuaternionBasis$fPartitionableQuaternion$fIdempotentQuaternion$fAbelianQuaternion$fGroupQuaternion$fMonoidalQuaternion$fRightModulerQuaternion$fLeftModulerQuaternion$fAdditiveQuaternion$fHasTrieQuaternionBasis$fTraversableWithKey1Quaternion$fTraversable1Quaternion$fFoldableWithKey1Quaternion$fFoldable1Quaternion$fTraversableWithKeyQuaternion$fTraversableQuaternion$fFoldableWithKeyQuaternion$fFoldableQuaternion&$fMonadReaderQuaternionBasisQuaternion$fMonadQuaternion$fBindQuaternion$fApplicativeQuaternion$fApplyQuaternion$fKeyedQuaternion$fZipWithKeyQuaternion$fZipQuaternion$fFunctorQuaternion$fDistributiveQuaternion$fAdjustableQuaternion$fLookupQuaternion$fIndexableQuaternion$fRepresentableQuaternion$fHamiltonian(->)$fHamiltonian:->:$fHamiltonianQuaternion$fComplicatedQuaternion$fDistinguishedQuaternion$fHamiltonianQuaternionBasis$fComplicatedQuaternionBasis$fDistinguishedQuaternionBasis$fDivisionDual$fQuadrancerDual$fInvolutiveSemiringDual$fInvolutiveMultiplicationDual$fRightModuleDualDual$fLeftModuleDualDual $fRingDual $fRigDual $fUnitalDual$fSemiringDual$fCommutativeDual$fMultiplicativeDual$fHopfAlgebrakDualBasis$fInvolutiveCoalgebrakDualBasis$fInvolutiveAlgebrakDualBasis$fBialgebrakDualBasis$fCounitalCoalgebrakDualBasis$fCoalgebrakDualBasis$fUnitalAlgebrakDualBasis$fAlgebrakDualBasis$fPartitionableDual$fIdempotentDual $fAbelianDual $fGroupDual$fMonoidalDual$fRightModulerDual$fLeftModulerDual$fAdditiveDual$fHasTrieDualBasis$fTraversableWithKey1Dual$fTraversable1Dual$fFoldableWithKey1Dual$fFoldable1Dual$fTraversableWithKeyDual$fTraversableDual$fFoldableWithKeyDual$fFoldableDual$fMonadReaderDualBasisDual $fMonadDual $fBindDual$fApplicativeDual $fApplyDual $fKeyedDual$fZipWithKeyDual $fZipDual $fFunctorDual$fDistributiveDual$fAdjustableDual $fLookupDual$fIndexableDual$fRepresentableDual$fInfinitesimal(->)$fInfinitesimalDual$fDistinguishedDual$fInfinitesimalDualBasis$fDistinguishedDualBasis$fDivisionHyper'$fQuadrancerHyper'$fInvolutiveSemiringHyper' $fInvolutiveMultiplicationHyper'$fRightModuleHyper'Hyper'$fLeftModuleHyper'Hyper' $fRingHyper' $fRigHyper'$fUnitalHyper'$fSemiringHyper'$fCommutativeHyper'$fMultiplicativeHyper'$fHopfAlgebrakHyperBasis'!$fInvolutiveCoalgebrakHyperBasis'$fInvolutiveAlgebrakHyperBasis'$fBialgebrakHyperBasis'$fCounitalCoalgebrakHyperBasis'$fCoalgebrakHyperBasis'$fUnitalAlgebrakHyperBasis'$fAlgebrakHyperBasis'$fPartitionableHyper'$fIdempotentHyper'$fAbelianHyper' $fGroupHyper'$fMonoidalHyper'$fRightModulerHyper'$fLeftModulerHyper'$fAdditiveHyper'$fHasTrieHyperBasis'$fTraversableWithKey1Hyper'$fTraversable1Hyper'$fFoldableWithKey1Hyper'$fFoldable1Hyper'$fTraversableWithKeyHyper'$fTraversableHyper'$fFoldableWithKeyHyper'$fFoldableHyper'$fMonadReaderHyperBasis'Hyper' $fMonadHyper' $fBindHyper'$fApplicativeHyper' $fApplyHyper' $fKeyedHyper'$fZipWithKeyHyper' $fZipHyper'$fFunctorHyper'$fDistributiveHyper'$fAdjustableHyper'$fLookupHyper'$fIndexableHyper'$fRepresentableHyper'$fHyperbolic(->)$fHyperbolicHyper'$fHyperbolicHyperBasis'$fCoalgebrakHyperBasis$fAlgebrakHyperBasis$fInvolutiveSemiringHyper$fInvolutiveMultiplicationHyper$fRightModuleHyperHyper$fLeftModuleHyperHyper $fRingHyper $fRigHyper $fUnitalHyper$fSemiringHyper$fCommutativeHyper$fMultiplicativeHyper$fHopfAlgebrakHyperBasis $fInvolutiveCoalgebrakHyperBasis$fInvolutiveAlgebrakHyperBasis$fBialgebrakHyperBasis$fCounitalCoalgebrakHyperBasis$fUnitalAlgebrakHyperBasis$fPartitionableHyper$fIdempotentHyper$fAbelianHyper $fGroupHyper$fMonoidalHyper$fRightModulerHyper$fLeftModulerHyper$fAdditiveHyper$fHasTrieHyperBasis$fTraversableWithKey1Hyper$fTraversable1Hyper$fFoldableWithKey1Hyper$fFoldable1Hyper$fTraversableWithKeyHyper$fTraversableHyper$fFoldableWithKeyHyper$fFoldableHyper$fMonadReaderHyperBasisHyper $fMonadHyper $fBindHyper$fApplicativeHyper $fApplyHyper $fKeyedHyper$fZipWithKeyHyper $fZipHyper$fFunctorHyper$fDistributiveHyper$fAdjustableHyper $fLookupHyper$fIndexableHyper$fRepresentableHyper$fHyperbolicHyper$fHyperbolicHyperBasis$fDivisionDual'$fQuadrancerDual'$fInvolutiveSemiringDual'$fInvolutiveMultiplicationDual'$fRightModuleDual'Dual'$fLeftModuleDual'Dual' $fRingDual' $fRigDual' $fUnitalDual'$fSemiringDual'$fCommutativeDual'$fMultiplicativeDual'$fHopfAlgebrakDualBasis' $fInvolutiveCoalgebrakDualBasis'$fInvolutiveAlgebrakDualBasis'$fBialgebrakDualBasis'$fCounitalCoalgebrakDualBasis'$fCoalgebrakDualBasis'$fUnitalAlgebrakDualBasis'$fAlgebrakDualBasis'$fPartitionableDual'$fIdempotentDual'$fAbelianDual' $fGroupDual'$fMonoidalDual'$fRightModulerDual'$fLeftModulerDual'$fAdditiveDual'$fHasTrieDualBasis'$fTraversableWithKey1Dual'$fTraversable1Dual'$fFoldableWithKey1Dual'$fFoldable1Dual'$fTraversableWithKeyDual'$fTraversableDual'$fFoldableWithKeyDual'$fFoldableDual'$fMonadReaderDualBasis'Dual' $fMonadDual' $fBindDual'$fApplicativeDual' $fApplyDual' $fKeyedDual'$fZipWithKeyDual' $fZipDual'$fFunctorDual'$fDistributiveDual'$fAdjustableDual' $fLookupDual'$fIndexableDual'$fRepresentableDual'$fInfinitesimalDual'$fDistinguishedDual'$fInfinitesimalDualBasis'$fDistinguishedDualBasis' $fCounitalCoalgebrarBasisCoblade$fCoalgebrarBasisCoblade$fEigenmetricrEuclidean$fEigenbasisEuclidean$fHasTrieEuclidean$fHasTrieBasisCoblade$fCoalgebrarQuaternionBasis'$fAlgebrarQuaternionBasis'$fDivisionQuaternion'$fQuadrancerQuaternion'%$fInvolutiveMultiplicationQuaternion'#$fRightModuleQuaternion'Quaternion'"$fLeftModuleQuaternion'Quaternion'$fRingQuaternion'$fRigQuaternion'$fUnitalQuaternion'$fSemiringQuaternion'$fMultiplicativeQuaternion'$fHopfAlgebrarQuaternionBasis'&$fInvolutiveCoalgebrarQuaternionBasis'$$fInvolutiveAlgebrarQuaternionBasis'$fBialgebrarQuaternionBasis'$$fCounitalCoalgebrarQuaternionBasis' $fUnitalAlgebrarQuaternionBasis'$fPartitionableQuaternion'$fIdempotentQuaternion'$fAbelianQuaternion'$fGroupQuaternion'$fMonoidalQuaternion'$fRightModulerQuaternion'$fLeftModulerQuaternion'$fAdditiveQuaternion'$fHasTrieQuaternionBasis' $fTraversableWithKey1Quaternion'$fTraversable1Quaternion'$fFoldableWithKey1Quaternion'$fFoldable1Quaternion'$fTraversableWithKeyQuaternion'$fTraversableQuaternion'$fFoldableWithKeyQuaternion'$fFoldableQuaternion'($fMonadReaderQuaternionBasis'Quaternion'$fMonadQuaternion'$fBindQuaternion'$fApplicativeQuaternion'$fApplyQuaternion'$fKeyedQuaternion'$fZipWithKeyQuaternion'$fZipQuaternion'$fFunctorQuaternion'$fDistributiveQuaternion'$fAdjustableQuaternion'$fLookupQuaternion'$fIndexableQuaternion'$fRepresentableQuaternion'$fHamiltonianQuaternion'$fComplicatedQuaternion'$fDistinguishedQuaternion'$fHamiltonianQuaternionBasis'$fComplicatedQuaternionBasis'$fDistinguishedQuaternionBasis'$fInvolutiveSemiringTrig$fInvolutiveMultiplicationTrig$fRightModuleTrigTrig$fLeftModuleTrigTrig $fRingTrig $fRigTrig $fUnitalTrig$fSemiringTrig$fCommutativeTrig$fMultiplicativeTrig$fCounitalCoalgebrakTrigBasis$fHopfAlgebrakTrigBasis$fInvolutiveCoalgebrakTrigBasis$fInvolutiveAlgebrakTrigBasis$fBialgebrakTrigBasis$fCoalgebrakTrigBasis$fUnitalAlgebrakTrigBasis$fAlgebrakTrigBasis$fPartitionableTrig$fIdempotentTrig $fAbelianTrig $fGroupTrig$fMonoidalTrig$fRightModulerTrig$fLeftModulerTrig$fAdditiveTrig$fHasTrieTrigBasis$fTraversableWithKey1Trig$fTraversable1Trig$fFoldableWithKey1Trig$fFoldable1Trig$fTraversableWithKeyTrig$fTraversableTrig$fFoldableWithKeyTrig$fFoldableTrig$fMonadReaderTrigBasisTrig $fMonadTrig $fBindTrig$fApplicativeTrig $fApplyTrig $fKeyedTrig$fZipWithKeyTrig $fZipTrig $fFunctorTrig$fDistributiveTrig$fAdjustableTrig $fLookupTrig$fIndexableTrig$fRepresentableTrig$fTrigonometric:->:$fTrigonometric(->)$fTrigonometricTrig$fComplicatedTrig$fDistinguishedTrig$fTrigonometricTrigBasis$fComplicatedTrigBasis$fDistinguishedTrigBasis$fFactorableExp $fBandExp$fCommutativeExp $fDivisionExp $fUnitalExp$fMultiplicativeExp$fPartitionableLog$fIdempotentLog $fAbelianLog $fGroupLog$fRightModuleIntegerLog$fLeftModuleIntegerLog $fMonoidalLog$fRightModuleNaturalLog$fLeftModuleNaturalLog $fAdditiveLogbase Control.Arrowarr $fRingMap$fRigMap$fCommutativeMap $fGroupMap $fAbelianMap $fMonoidalMap$fMonadPlusMap$fAlternativeMap $fPlusMap$fAltMap$fRightModulerMap$fRightModuleMapMap$fLeftModulerMap$fLeftModuleMapMap $fSemiringMap $fUnitalMap$fMultiplicativeMap $fAdditiveMap$fArrowChoiceMap$fArrowPlusMap$fArrowZeroMap$fMonadReaderbMap$fArrowApplyMap $fArrowMap$fMonoidalMapEither$fCoCartesianMap$fSymmetricMapEither$fBraidedMapEither$fAssociativeMapEither$fBifunctorEitherMapMapMap$fQFunctorEitherMapMap$fPFunctorEitherMapMap$fDistributiveMap$fCCCMap$fCartesianMap$fMonoidalMap(,)$fSymmetricMap(,)$fBraidedMap(,)$fAssociativeMap(,)$fBifunctor(,)MapMapMap$fQFunctor(,)MapMap$fPFunctor(,)MapMap $fMonadMap $fBindMap$fApplicativeMap $fApplyMap $fFunctorMap$fSemigroupoidMap $fCategoryMap$fRightModulerEnd$fLeftModulerEnd$fRightModuleEndEnd$fLeftModuleEndEnd $fRingEnd$fRigEnd $fSemiringEnd$fCommutativeEnd $fUnitalEnd$fMultiplicativeEnd $fGroupEnd $fMonoidalEnd $fAbelianEnd $fAdditiveEnd $fMonoidEnd$fRingOpposite $fRigOpposite$fSemiringOpposite$fDivisionOpposite$fUnitalOpposite$fBandOpposite$fIdempotentOpposite$fCommutativeOpposite$fMultiplicativeOpposite$fDecidableAssociatesOpposite$fDecidableUnitsOpposite$fDecidableZeroOpposite$fAbelianOpposite$fGroupOpposite$fRightModuleOppositeOpposite$fRightModulerOpposite$fLeftModulerOpposite$fLeftModuleOppositeOpposite$fMonoidalOpposite$fAdditiveOpposite$fTraversable1Opposite$fFoldable1Opposite$fTraversableOpposite$fFoldableOpposite$fFunctorOpposite $fOrdOpposite $fEqOpposite $fRingRngRing $fRigRngRing$fSemiringRngRing$fDivisionRngRing$fUnitalRngRing$fRightModuleRngRingRngRing$fLeftModuleRngRingRngRing$fCommutativeRngRing$fMultiplicativeRngRing$fGroupRngRing$fRightModuleIntegerRngRing$fLeftModuleIntegerRngRing$fMonoidalRngRing$fRightModuleNaturalRngRing$fLeftModuleNaturalRngRing$fAbelianRngRing$fAdditiveRngRing$fRightModuleIntegerZeroRng$fLeftModuleIntegerZeroRng$fRightModuleNaturalZeroRng$fLeftModuleNaturalZeroRng $fRngZeroRng$fCommutativeZeroRng$fSemiringZeroRng$fMultiplicativeZeroRng$fGroupZeroRng$fMonoidalZeroRng$fAbelianZeroRng$fIdempotentZeroRng$fAdditiveZeroRng