At7W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNone ECreate a container with as many copies as possible of a given value. , That is, for a container with fixed size n,  the call repeat x will generate a container with n copies of x. It must hold:  fmap f xs " = zipWith (\x _ -> f x) xs xs " = zipWith (\_ x -> f x) xs xs 5 WXYZ[\]^_`abcdefghijklmnopqr    )   WXYZ[\]^_`abcdefghijklmnopqrNonestuvwxyz{|}~ stuvwxyz{|}~None! 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.  Maybe is isomorphic to Optional Empty.   T Empty a. is a list that contains exactly one element.   T (T Empty) a/ is a list that contains exactly two elements.  Optional (T Empty) a/ is a list that contains zero or two elements. H You can create a list type for every finite set of allowed list length 1 by nesting Optional and NonEmpty constructors.  If list length n is allowed, then place Optional at depth n, ! if it is disallowed then place NonEmpty. ! The maximm length is marked by Empty. &$Force immediate generation of Cons. 'Implementation of   without the  constraint that is needed for  . (Implementation of    without the  constraint that is needed for   .  It holds:  # foldl1Map g f = foldl1 f . fmap g but  does not need a  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 maximumKey is a total function minimumKey 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. \ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF< !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFR !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNoneGEWrap a container such that its Applicative instance is based on zip. J"Always returns a rectangular list 2by clipping all dimensions to the shortest slice. Be aware that  transpose [] == repeat []. GHIJGHIJGHIJGHIJNone- !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFJ-!"#$%&'()*+,-./0123468579:;<>=?@FAB CDEJNoneKLMNOPKLMNOPKLMNOPKLMNOPNoneQRSTUVQRSTUVQSRVTUQSRTUV !"#$%&'()#*+,-./)#012345678$ 9:;<=>?@ABCDEFG(HIJK)#LMNOK+PG)#QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rqtsvxyz{|zrstquvxyz{|non-empty-0.1.3Data.NonEmpty.Class Data.Empty Data.NonEmptyData.ZipData.NonEmpty.Mixed Data.OptionalData.NonEmptyPrivate Applicative<*>pureMonad>>=returnData.Monoid.HTcycle Arbitrary arbitraryshrinkShow showsPrecReversereverseSortsortByRepeatrepeatZipzipWithAppendappend Singleton singletonViewviewLConsconsEmptyemptyzipsortTTailstails RemoveEach removeEachInsertinsertByheadtail!:forceapplybindtoListflattenfetchmapHeadmapTailinitlastfoldl1maximumminimum maximumBy minimumBy maximumKey minimumKeysumproduct appendRight appendLeftinsertscanlscanr mapAdjacentdecons transposeClipgroupBy segmentBeforeinitsNil fromEmpty fromNonEmpty?: $fArbitrary[]$fShow[] $fReverseSeq$fReverseMaybe $fReverse[] $fSortSeq $fSortMaybe$fSort[] $fRepeat[]$fZipSeq $fZipMaybe$fZip[] $fAppendSeq $fAppend[]$fSingletonSeq$fSingletonSet$fSingletonMaybe $fSingleton[] $fViewSeq $fViewSet $fViewMaybe$fView[] $fConsSeq$fCons[] $fEmptySeq $fEmptySet $fEmptyMaybe $fEmpty[] $fRepeatT$fSortT $fReverseT$fZipT$fEmptyT $fArbitraryT$fViewT$fTraversableT $fFoldableT $fFunctorT$fShowT$fShowT0 foldl1MapbaseGHC.BaseFunctor _maximumKey _minimumKeyTransposeInnertransposeStart zipHeadTailTransposeOuter transposeAux snocExtend attachKey tailsDefaulttransposePrelude propTransposepropTransposePrelude$fTransposeInner[]$fTransposeOuter[] $fTailsSeq $fTailsMaybe$fTailsT $fTailsT0 $fTails[]$fRemoveEachMaybe $fRemoveEachT$fRemoveEachT0$fRemoveEach[] $fInsertSeq $fInsertMaybe $fInsert[] $fInsertT $fInsertT0 $fAppendT $fSingletonT$fConsT$fArbitraryAux$fMonadT$fApplicativeT