Q9      !"#$%&'() * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,"%&    %   The  (, ) over   a where   is the top element The  (, ) over   a where   is the bottom element The  given by (,!) The  (,!)   "`#`$Q%l      !&R"#$%&'()'c*+,-./0123456789:;<(c=>?@ABCDEFGHIJ89:;<)nKLMNOPQRSTUVWXYZ[\]89:;<*n^_`abcdefghijkYZ[\]89:;<+^lmnopqrstuZ[\],vwxyz{|}~-O.(/Y0 !"#$ "#$ !  ! !"#$#$ %&%&%&&''('('( ,)*+,-./)+*.-,/)*+,-./ 0101011 123456789:;<=>?@;<=>?@56723489:234345676789:9:;<=>?<=>?@ /ABCDEFGHIJ FGEHCDABIJ ABBCDDEFGHIJ %KLKLKLMNOMNOMNONOPA  is just a 0 with one object. RThe 3 of endomorphisms over some object in an arbitrary 0 PQRSTURSTPQUPQQRSTSTU2VWXYZ[\]^ \]^YZ[VWX VWXWXYZ[Z[\]^]^A23456789:;<=>?@_`abcdefghijklmn_`abcdefghijklmn_`abcdefghijklmnopopopopqqq!oprstrstrstst#opqrstuuu'oprstvwxyz{yz{vwxvwxwxyz{z{"oprst|||#oprst|}}}*oprst|}~~~1$opqrstu|!op$opq2&oprst|})oprst|}3456789:;<<=>??@AABCCDEEFGGHIIJKKLMMNOPQR S T U V W X Y O P Z Z [ \ \ ] ^ ^ _ ` a b c d e f g h i j k l m n o p qrrsttuuvwxxyzz{||}~uu          !"#"$"%"&"'"(")"*+,+-+.+/+0+1+2+3+4+5+6+789: : ::;:<::: =>=?=@=A=B=C=D=E=F=G=G=H=I=IJKJLJMJNJOP>P?P@PAPBPCPDPEPFPGPGPHPIPIQRQSQTQUQVQWQXQYQZQ[Q[Q\Q]Q]^_`a`b`c`deReSeTeUeVeWeXeYeZe[e[e\e]e]fgfhfifjfkflflfmfnfnop q rosotou vowoxoyozo{o|o}o~ooooooooo         0 monoids-0.1.2Data.Monoid.ReducerData.Monoid.Reducer.CharData.Monoid.Reducer.WithData.Monoid.UnitData.Monoid.OrdData.Monoid.MonadData.Monoid.Map Data.Monoid.Lexical.UTF8.Decoder"Data.Monoid.Lexical.SourcePositionData.Monoid.IntMapData.Monoid.GeneratorData.Monoid.Lexical.WordsData.Monoid.Reducer.SugarData.Monoid.FromStringData.Monoid.CategoricalData.Monoid.Applicative!Data.Monoid.Generator.CombinatorsData.Monoid.AdditiveData.Monoid.Additive.SugarData.Monoid.Multiplicative Data.Monoid.Multiplicative.Sugar&Data.Monoid.Multiplicative.TransformerData.Ring.Semi.NearData.Ring.SemiData.Ring.Semi.Ord Data.GroupData.Group.SugarData.Ring.FromNumbase Data.MonoidData.Ord Data.MaybePreludeData.Monoid.Monad.Writer.StrictData.Monoid.Monad.Writer.LazyData.Monoid.Monad.ST.StrictData.Monoid.Monad.STMData.Monoid.Monad.ST.LazyData.Monoid.Monad.State.StrictData.Monoid.Monad.State.LazyData.Monoid.Monad.RWS.StrictData.Monoid.Monad.RWS.LazyData.Monoid.Monad.ReaderData.Monoid.Monad.IOData.Monoid.Monad.IdentityData.Monoid.Monad.EitherData.Monoid.Monad.ContControl.CategoryData.Ring.Sugar Data.RingReducerunitsnoccons foldMapReduce foldReduce CharReducerfromChar invalidChar WithReducerrunWithReducerwithoutReducerUnitgetUnit MinPrioritygetMinPriority MaxPrioritygetMaxPriorityMingetMinMaxgetMax ActionWith getActionWithMonadSum getMonadSumAction getAction UnionWith getUnionWithUTF8runUTF8SourcePosition SourceColumn SourceLine startOfFile sourceColumn sourceLineshowSourcePositionValues getValuesKeysgetKeysChar8getChar8 GeneratorElem mapReducemapTomapFromreduceUnlined runUnlinedUnspaced runUnspacedLinesWordsrunWordsrunLines wordsFrom linesFrom fromInteger fromString FromString getFromStringMonEndogetEndorunMon TraversalWithgetTraversalWith Alternate getAlternate Traversal getTraversal traverse_for_mapM_forM_foldMap' concatMapandoranyallsumproductelemnotElemfilterfindpluszero+MultiplicativeMonoidonetimes*ExpgetExpLoggetLog SeminearringSemiringPriorityMaxBoundMinBoundOrdergetOrderGroupgnegateminus-negateFromNum getFromNummappendmconcatmemptyMonoidgetDualDualappEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLast GHC.ClassesminNothingMaybemaxGHC.EnummaxBoundminBoundGHC.Basefail>>=>>returnControl.Monad.FixmfixMonadFunctorMonadFix Control.Monad MonadPlusfoldM Data.FunctionfixapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_ zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforMfilterMguardmapM sequence_sequence=<<mplusmzerofmap mtl-1.1.0.2Control.Monad.Writer.Strict mapWriterT execWriterT mapWriter execWriter runWriterWriter runWriterTWriterTControl.Monad.Translift MonadTransliftIOMonadIOControl.Monad.Writer.Classcensorlistenspasslistentell MonadWriterControl.Monad.Writer.Lazyghc-primGHC.Prim RealWorldGHC.STST GHC.IOBase unsafeSTToIO unsafeIOToSTstToIOrunSTfixSTunsafeInterleaveSTGHC.Conc registerDelay writeTVarreadTVar newTVarIOnewTVaralwaysalwaysSucceedscatchSTMorElseretry atomicallySTMTVar stm-2.1.1.2Control.Concurrent.STM.TArrayTArrayControl.Concurrent.STM.TChan isEmptyTChan unGetTChandupTChan readTChan writeTChan newTChanIOnewTChanTChanControl.Concurrent.STM.TMVar isEmptyTMVar swapTMVar readTMVar tryPutTMVarputTMVar tryTakeTMVar takeTMVarnewEmptyTMVarIO newEmptyTMVar newTMVarIOnewTMVarTMVarControl.Monad.STMcheckControl.Monad.ST.LazylazyToStrictSTstrictToLazySTControl.Monad.State.Strict withStateT mapStateT execStateT evalStateT withStatemapState execState evalStaterunStateState runStateTStateTControl.Monad.State.Classgetsmodifyputget MonadStateControl.Monad.State.LazyControl.Monad.RWS.StrictwithRWSTmapRWSTexecRWSTevalRWSTwithRWSmapRWSexecRWSevalRWSrunRWSRWSrunRWSTRWSTControl.Monad.RWS.ClassMonadRWSControl.Monad.Reader.Classaskslocalask MonadReaderControl.Monad.RWS.LazyControl.Monad.Reader withReaderT mapReaderT withReader mapReader runReaderReader runReaderTReaderT System.IOprintIOFilePathreadFile openTempFileopenBinaryTempFileHandlefixIOwithBinaryFilewithFilehPrint hPutStrLnhReadyreadIOreadLn appendFile writeFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IOhGetBufNonBlockinghGetBufhPutBufNonBlockinghPutBufhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInput GHC.HandlehShowhSetBinaryModehIsTerminalDevicehGetEchohSetEcho hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hSetBuffering hLookAheadisEOFhIsEOF hSetFileSize hFileSizehCloseopenBinaryFileopenFilestdin HandlePosn AbsoluteSeek RelativeSeek SeekFromEndSeekModestdoutstderrhFlush NoBuffering LineBufferingBlockBuffering BufferModeReadMode WriteMode AppendMode ReadWriteModeIOModeControl.Monad.Identity runIdentityIdentity Data.EitherEitherLeftRightcategory-extras-0.53.5Control.Monad.Either runEitherTEitherTControl.Monad.Cont withContTmapContTwithContmapContrunContContrunContTContTControl.Monad.Cont.ClasscallCC MonadCont Data.StringIsStringCategoryControl.ApplicativeliftA2*>pure Applicative<|>empty Alternative