úÎ2ù*øN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNone It must hold:  fmap f xs " = zipWith (\x _ -> f x) xs xs " = zipWith (\_ x -> f x) xs xs * NOPQRSTUVWXYZ[\]^       NOPQRSTUVWXYZ[\]^None _`abcdefghi _`abcdefghiNone! The type !4 can be used for many kinds of list-like structures with restrictions on the size.  T [] a1 is a lazy list containing at least one element.  T (T []) a2 is a lazy list containing at least two elements.   T Vector a( is a vector with at least one element. Q You may also use unboxed vectors but the first element will be stored in a box C and you will not be able to use many functions from this module.   T Maybe a. is a list that contains one or two elements.   T Empty a. is a list that contains exactly one element.   T (T Empty) a/ is a list that contains exactly two elements. &$Force immediate generation of Cons. 'Implementation of  without the  constraint that is needed for . (Implementation of    without the  constraint that is needed for   . j It holds:  # foldl1Map g f = foldl1 f . fmap g but j does not need a k instance. 4maximum is a total function 5minimum is a total function 6maximumBy is a total function 7minimumBy is a total function 8maximumKey is a total function 9minimumKey is a total function lmaximumKey is a total function mminimumKey is a total function :,sum does not need a zero for initialization ;/product does not need a one for initialization ?generic variants:    or better Semigroup.cycle A%If you nest too many non-empty lists ;then the efficient merge-sort (linear-logarithmic runtime) Cwill degenerate to an inefficient insert-sort (quadratic runtime). CCInsert an element into an ordered list while preserving the order. BThe first element of the resulting list is returned individually. 3We need this for construction of a non-empty list. D"Always returns a rectangular list 2by clipping all dimensions to the shortest slice. Be aware that  transpose [] == repeat []. _nopqrstu vw!"#$%&'()*+,x-./0123j456789lmy:;<=>?@ABCDz{|EFG}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œ?nopqrstu vw!"#$%&'()*+,x-./0123j456789lmy:;<=>?@ABCDz{|EFGSnopqrstu vw!"#$%&'()*+,x-./0123j456789lmy:;<=>?@ABCDz{|EFG}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œNone- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG-!"#$%&'()*+,-./0123468579:;<>=?@GAB CEFDNoneHIJKLMHIJKLMHIJKLMHIJKLM !"#$%&'!()*+,-'!./0123456"789:;<=>?@ABCDE &FGHIJKLJ)MENOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹_Œa`Žc‘’efghi“ non-empty-0.1Data.NonEmpty.Class Data.Empty Data.NonEmptyData.NonEmpty.MixedData.NonEmptyPrivate Applicative<*>pureMonad>>=returnData.Monoid.HTcycle Arbitrary arbitraryshrinkShow showsPrecReversereverseSortsortByRepeatrepeatZipzipWithAppendappend Singleton singletonViewviewLConsconsEmptyemptyzipsortTTailstails RemoveEach removeEachInsertinsertByheadtail!:forceapplybindtoListflattenfetchmapHeadmapTailinitlastfoldl1maximumminimum maximumBy minimumBy maximumKey minimumKeysumproduct appendRight appendLeftinsert transposeClipscanlscanr mapAdjacentgroupBy segmentBeforeinits $fArbitrary[]$fShow[]$fReverseMaybe $fReverse[] $fSortMaybe$fSort[] $fRepeat[] $fZipMaybe$fZip[] $fAppend[]$fSingletonMaybe $fSingleton[] $fViewMaybe$fView[]$fCons[] $fEmptyMaybe $fEmpty[]$fSortT $fReverseT$fZipT$fEmptyT $fArbitraryT$fViewT$fTraversableT $fFoldableT $fFunctorT$fShowT$fShowT0 foldl1MapbaseGHC.BaseFunctor _maximumKey _minimumKeyTransposeInnertransposeStart zipHeadTailTransposeOuter transposeunZipAux snocExtend attachKeytransposePrelude propTransposepropTransposePrelude$fTransposeInner[]$fTransposeOuter[]$fApplicativeZip $fFunctorZip $fTailsMaybe$fTailsT $fTailsT0 $fTails[]$fRemoveEachMaybe $fRemoveEachT$fRemoveEachT0$fRemoveEach[] $fInsertMaybe $fInsert[] $fInsertT $fInsertT0 $fRepeatT $fAppendT $fSingletonT$fConsT$fArbitraryAux$fMonadT$fApplicativeT