úÎ)¨#ýc      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab$This type may be best read infix. A c  m is a c 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 c 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 d 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 c Append a value to a c$ for use in left-to-right reduction Prepend a value onto a c( for use during right-to-left reduction Apply a  to a eK container, after mapping the contents into a suitable form for reduction. Apply a  to a e mapping each element through          ) !"#$%&'()*+,-./01fghi234j5kl6m! !"#$%&'()*+,-./0123456!!"#$%&,-./01*+')(234 65!  !"#"#$%&'()*+,-./0123456-789:;<=>?@ABCDEFGHIJKLMnNOPQRSTUVWXYZ[\]^_`ab,789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab,KLMJABCDEFGHINOPQb^_UVTSWXRYZ[\]=>:;87<9?@`a,789:;<=>?@@ABCDEFGHIBCDEFGHIJKLMLMNOPQRSTUVWXYZ[\]^_`ab!789:;<=>?@AJKMOPQRSTUVWXYZ[\]^_`a!KMJAOPQ^_RYSWXTUVZ[\]=>:;87<9?@`a  !%&'()*+,-./01234 !*+ 234%,&-/01.'()o      !"#$%&''()*+,-./0123456789:;<=>?@ABCDDEFGHIJKLMNOOPQ0* 798R#$%& !STUVWUXYUZ[\]^_`abcderope-0.3Data.Rope.Util.ComonadData.Rope.Util.ReducerData.Rope.BodyData.Rope.InternalData.Rope.Annotated.InternalData.Rope.Annotated Data.RopeComonadextract duplicateextendReducerunitsnoccons foldMapReduce foldReduce returnUnitpureUnitBodyChunkunchunkOffset getOffset measureBodycons'snoc' Unpackableunpackheadlastunconsunsnoc Breakablebreakspan takeWhile dropWhileRopebodypackempty fromChunkstoChunkstoLazyByteStringtoStringlengthnullfromByteStringfromLazyByteString fromString fromWordsfromChar fromWord8splitAttakedropfindIndexOrEndw2cInitTail:<>SnocConsEmptyDropTake:*: AnnotationunitAsplitAtAtakeAdropAsnocAconsAemptyAappendAAnnArope:~>appendfstFsndFbase Data.MonoidMonoid Data.MaybeMaybe Data.FoldableFoldablecons8 emptyConstr consConstr ropeDataTypebreak8uncons8unsnoc8errorEmptyListextractA