úÎ'»"x\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ [             $This type may be best read infix. A c  m is a \ m that maps  values of type c through unit to values of type m. A c- may also ) supply operations which tack-on another c to an existing \ m on the left P or right. These specialized reductions may be more efficient in some scenarios $ and are used when appropriate by a  Generator . The names  and  work = by analogy to the synonymous operations in the list monoid. LThis class deliberately avoids functional-dependencies, so that () can be a c -Reducer  for all cJ, and so many common reducers can work over multiple types, for instance,  First and Last may reduce both a and ] a . Since a  Generator has a fixed element Z type, the input to the reducer is generally known and extracting from the monoid usually Z is sufficient to fix the result type. Combinators are available for most scenarios where X this is not the case, and the few remaining cases can be handled by using an explicit  type annotation. Minimal definition:  or  Convert a value into a \ Append a value to a \$ for use in left-to-right reduction Prepend a value onto a \( for use during right-to-left reduction Apply a  to a ^K container, after mapping the contents into a suitable form for reduction. Apply a  to a ^ mapping each element through    !"#$%  !"#$%  !"#$%  !"!"#$% &'()*+,-./01 &'()*+,-./01 ./&'()*+,-10 &'()*+,-'()*+,-.//01&23456789:;<=>?@ABCDEFGHIJ_`abKLMNOPQRS"23456789:;<=>?@ABCDEFGHIJKLMNOPQRS";<J>?DEFGHIBC=@A6789:KLMNQRS2345OP"23453456789:789:;<<=>?@ABCDEFGHIJKLMNOPQRS cdeTUVWXYfTUVWXYTUVWXYTUVWXYUVWXY Z[%23456789:;>?ABCDEFGHIKLMNTUVWXYZ[%;BC6789:KLMNTUVWXY2345>D?EGHIF[AZZ[g     !"#$%&''())*+,-./01234566789:;<=>?@ABBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ` Fabcadeafghijkllmnorope-0.1Data.Rope.Util.BifunctorData.Rope.Util.CoproductData.Rope.Util.ComonadData.Rope.Util.ReducerData.Rope.BodyData.Rope.Util.ProductData.Rope.InternalData.Rope.Unpackable Data.Rope Bifunctorbimapfirstsecond:+:Right'Left' Coproductleftright|||codiag:+InrInlcounzipComonadextract duplicateextendReducerunitsnoccons foldMapReduce foldReduce returnUnitpureUnitBodyChunkunchunkCountgetCount measureBodycons'snoc'Productfstsndpaircurryuncurrybothdiag:*:unzipbothCPackablepackpacklpackr Annotationelide'splitAt'take'drop'Ropebodyempty fromChunkstoChunkstoLazyByteStringlengthnullfromByteStringfromLazyByteString fromString fromWordsfromChar fromWord8cons8elidesplitAttakedropbreak8findIndexOrEnduncons8unsnoc8w2c UnpackableunpackheadlastunconsunsnoctoStringbase Data.MonoidMonoid Data.MaybeMaybe Data.FoldableFoldable emptyConstr consConstr ropeDataTyperopeTcFrunFerrorEmptyList