!W2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe r@  !"#$%&'()*+,3210/.-987654;:=<?>@  !"#$%&'()*+,3210/.-987654;:=<?>Safe@haskus-utils-data?Check that a list has the given length (support infinite lists)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@@Safe      !"#$%Safe>}&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW  !"#$%Safe_Ahaskus-utils-dataFlipped XBhaskus-utils-dataFlipped CChaskus-utils-datafromMaybe in a MonadDhaskus-utils-data3Get the head of the list if the latter is not emptyYZ[\]^_X`abcABCDABCDSafeHSVXFhaskus-utils-data0Lift with*-like functions into IO (alloca, etc.)Ghaskus-utils-data0Lift with*-like functions into IO (alloca, etc.)Ndefghijklmnopqrstuvwxyz{|}~EFGEFGSafe -.=>?@ACHV%R Jhaskus-utils-dataReorder tuple elementsKhaskus-utils-dataReorder tuple elementsRhaskus-utils-data Extract a tuple value staticallyShaskus-utils-data)Extract a tuple value by type-level indexVhaskus-utils-dataSingleton typeXhaskus-utils-dataUncurry specialised for tripleYhaskus-utils-data!Uncurry specialised for quadrupleZhaskus-utils-dataTake specialised for quadruple[haskus-utils-datatoList for quadrupleJKLMNOPQRSTUVWXYZ[XYZ[VWUTRSPQNOLMJKNone,.1=>?@ACHUVXk1@ haskus-utils-data!Convert between hlists and tupleshaskus-utils-data*Convert an heterogeneous list into a tuplehaskus-utils-data*Convert a tuple into an heterogeneous listhaskus-utils-data+Like HFoldl but only use types, not values!TIt allows us to foldl over a list of types, without any associated hlist of values.haskus-utils-data+Like HFoldr but only use types, not values!TIt allows us to foldr over a list of types, without any associated hlist of values.haskus-utils-dataGApply the function identified by the data type f from type a to type b.haskus-utils-dataHeterogeneous listhaskus-utils-dataHeadhaskus-utils-dataTailhaskus-utils-dataLength2                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E E F F G GHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstustvstwstxstystzst{st|st}st~ststststststststststststststststststststststststststststststststststststststststststststststststststststst3>E     ^_`OH= !"#$Z%F&'())))))))))))))))))))))))))))))))))))))))))))))))=))"*+,-,.,/**0*1*2*3*4*5*6789:;<=>?@ A BCDCE7F7G7H7I7J7K7L7M7N7O7P7Q7R7S TUVWXYZ[\]^_`abcdesfgsfhsfisfjsfksflsfmsfnsfosfpsfqsfrsfssftsfusfvsfwsfxsfysfzsf{sf|sf}sf~sfsfsfsfsf.haskus-utils-data-1.1.1-7nHI7ZmT3ar67ZpMlBU56wHaskus.Utils.FunctorHaskus.Utils.ListHaskus.Utils.MaybeHaskus.Utils.MonadHaskus.Utils.TupleHaskus.Utils.HListHaskus.Utils.MapHaskus.Utils.Map.Strict,recursion-schemes-5.1-BXV2K52qxZYHmlOuu28EXjData.Functor.Foldable transversecataAzygoHistoPreprocoelgotelgotmhistomcatagchronochrono distGHisto distHistoghistohisto distGApoTdistGApodistApogapo distZygoTgzygodistZygozygohoistNuhoistMurefixhoistunfix distGFutudistFutugfutufutugrefoldghylodistAnagunfoldganadistCatagfoldgcatarefoldunfoldfoldhylo distParaTdistParaBasegprepropreprogparaparacataproject Recursivegpostpropostproapoanaembed CorecursiveFixMuNu checkLength onNothing onNothingM fromMaybeM headMaybe MonadInIOliftWith liftWith2$fMonadInIOStateT $fMonadInIOIO ReorderTuple tupleReorder TupleCons tupleCons TupleTail tupleTail TupleHead tupleHead ExtractTupletupleN ListToTuple TupleToListSingleuncurry3uncurry4take4 fromTuple4$fExtractTuple7(,,,,,,,)e7$fExtractTuple6(,,,,,,,)e6$fExtractTuple5(,,,,,,,)e5$fExtractTuple4(,,,,,,,)e4$fExtractTuple3(,,,,,,,)e3$fExtractTuple2(,,,,,,,)e2$fExtractTuple1(,,,,,,,)e1$fExtractTuple0(,,,,,,,)e0$fExtractTuple6(,,,,,,)e6$fExtractTuple5(,,,,,,)e5$fExtractTuple4(,,,,,,)e4$fExtractTuple3(,,,,,,)e3$fExtractTuple2(,,,,,,)e2$fExtractTuple1(,,,,,,)e1$fExtractTuple0(,,,,,,)e0$fExtractTuple5(,,,,,)e5$fExtractTuple4(,,,,,)e4$fExtractTuple3(,,,,,)e3$fExtractTuple2(,,,,,)e2$fExtractTuple1(,,,,,)e1$fExtractTuple0(,,,,,)e0$fExtractTuple4(,,,,)e4$fExtractTuple3(,,,,)e3$fExtractTuple2(,,,,)e2$fExtractTuple1(,,,,)e1$fExtractTuple0(,,,,)e0$fExtractTuple3(,,,)e3$fExtractTuple2(,,,)e2$fExtractTuple1(,,,)e1$fExtractTuple0(,,,)e0$fExtractTuple2(,,)e2$fExtractTuple1(,,)e1$fExtractTuple0(,,)e0$fExtractTuple1(,)e1$fExtractTuple0(,)e0$fExtractTuple0Singlet$fTupleHead(,,,,,)a$fTupleHead(,,,,)a$fTupleHead(,,,)a$fTupleHead(,,)a$fTupleHead(,)a$fTupleHeadSinglea$fTupleTail(,,,,,)(,,,,)$fTupleTail(,,,,)(,,,)$fTupleTail(,,,)(,,)$fTupleTail(,,)(,)$fTupleTail(,)Single$fTupleConsa(,,,,)(,,,,,)$fTupleConsa(,,,)(,,,,)$fTupleConsa(,,)(,,,)$fTupleConsa(,)(,,)$fTupleConsaSingle(,)$fReorderTuple(,,,,,,)(,,,,,,)$fReorderTuple(,,,,,,)(,,,,,,)0$fReorderTuple(,,,,,,)(,,,,,,)1$fReorderTuple(,,,,,,)(,,,,,,)2$fReorderTuple(,,,,,,)(,,,,,,)3$fReorderTuple(,,,,,,)(,,,,,,)4$fReorderTuple(,,,,,,)(,,,,,,)5$fReorderTuple(,,,,,)(,,,,,)$fReorderTuple(,,,,,)(,,,,,)0$fReorderTuple(,,,,,)(,,,,,)1$fReorderTuple(,,,,,)(,,,,,)2$fReorderTuple(,,,,,)(,,,,,)3$fReorderTuple(,,,,,)(,,,,,)4$fReorderTuple(,,,,)(,,,,)$fReorderTuple(,,,,)(,,,,)0$fReorderTuple(,,,,)(,,,,)1$fReorderTuple(,,,,)(,,,,)2$fReorderTuple(,,,,)(,,,,)3$fReorderTuple(,,,)(,,,)$fReorderTuple(,,,)(,,,)0$fReorderTuple(,,,)(,,,)1$fReorderTuple(,,,)(,,,)2$fReorderTuple(,,)(,,)$fReorderTuple(,,)(,,)0$fReorderTuple(,,)(,,)1$fReorderTuple(,,)(,,)2$fReorderTuple(,,)(,,)3$fReorderTuple(,)(,)$$fReorderTuple(,,,,,,,,,)(,,,,,,,,,)"$fReorderTuple(,,,,,,,,)(,,,,,,,,) $fReorderTuple(,,,,,,,)(,,,,,,,)$fReorderTuple(,,,,,,)(,,,,,,)6$fReorderTuple(,,,,,)(,,,,,)5$fReorderTuple(,,,,)(,,,,)4$fReorderTuple(,,,)(,,,)3$fReorderTuple(,,)(,,)4$fReorderTuple(,)(,)0$fReorderTupleSingleSingle $fShowSingle $fEqSingleHTuple' hToTuple' hFromTuple'HReversehReverseHZipListhZipListHFoldl'hFoldl'HFoldlhFoldlHFoldr'hFoldr'HFoldrhFoldrApplyapplyhAppendHListHConsHNilhHeadhTailhLength $fShowHList $fShowHList0$fHAppendList:l'$fHAppendList[]l2 $fHFoldrfv:r'$fHFoldrfv[]v'$fHFoldr'fv:r'$fHFoldr'fv[]v'$fHFoldlfz[]z' $fHFoldlfz:r$fHFoldl'fz[]z' $fHFoldl'fz:r $fHZipList:::$fHZipList[][][] $fHRevApp:l'z$fHRevApp[]l2l2$fHReversexssx$fHTuple':(,,,,,,,,,)$fHTuple':(,,,,,,,,)$fHTuple':(,,,,,,,)$fHTuple':(,,,,,,)$fHTuple':(,,,,,)$fHTuple':(,,,,)$fHTuple':(,,,)$fHTuple':(,,) $fHTuple':(,)$fHTuple':Single $fHTuple'[]() $fOrdHList $fOrdHList0 $fEqHList $fEqHList0baseGHC.Base++GHC.Listfilterzipmap Data.Foldablefoldrnulllengthfoldlfoldl'foldl1sumproductfoldr1maximumminimumelem Data.ListisSubsequenceOfData.Traversable mapAccumR mapAccumLfindnotElem minimumBy maximumByallanyorand concatMapconcat Data.OldListunwordswordsunlineslinesunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailunconshead#extra-1.6.14-IBsj3L83KrNIF8k2eHkqe9Data.List.ExtranubOrdBynubOrdOnnubOrd nubSortBy nubSortOnnubSortchunksOf stripInfixEnd stripInfix stripSuffix dropSuffix dropPrefix dropWhileEnd'splitsplitOn breakOnEndbreakOn mconcatMapdrop1 firstJustlinesBywordsByspanEndbreakEndreplacemergeBymerge groupSortBy groupSortOn groupSort minimumOn maximumOnnubOngroupOn unescapeJSON escapeJSON unescapeHTML escapeHTMLline1word1upperlowertrimtrimEnd trimStart takeWhileEnd concatUnzip3 concatUnzip zipWithFromzipFrom splitAtEnddropEndtakeEndsnocconsunsnoclistnotNullallSameanySamedisjointfor repeatedlycontainers-0.6.0.1Data.Map foldWithKeyinsertLookupWithKey'insertWithKey' insertWith'$Data.Map.Internal.DeprecatedShowTree showTreeWithshowTreeData.Map.Internal.DebugvalidData.Map.Internal splitRoot deleteFindMax deleteFindMin splitLookupfromDistinctDescListfromDistinctAscListfromDescListWithKeyfromAscListWithKeyfromDescListWithfromAscListWith fromDescList fromAscList toDescList toAscListtoListfromListWithKey fromListWithfromListfromSetkeysSetassocskeyselemsfoldMapWithKey foldlWithKey' foldlWithKey foldrWithKey' foldrWithKeyfoldr'mapKeysMonotonic mapKeysWithmapKeysmapAccumRWithKeymapAccumWithKeymapAccumtraverseWithKey mapWithKeymapEitherWithKey mapEithertraverseMaybeWithKeymapMaybeWithKeymapMaybepartitionWithKey spanAntitonedropWhileAntitonetakeWhileAntitone filterWithKeyisProperSubmapOfByisProperSubmapOf isSubmapOfBy isSubmapOf mergeWithKeyintersectionWithKeyintersectionWith restrictKeys intersectiondifferenceWithKeydifferenceWith withoutKeys difference unionWithKey unionWith unionsWithunionsmaxViewminViewmaxViewWithKeyminViewWithKeyupdateMaxWithKeyupdateMinWithKey updateMax updateMin deleteMax deleteMinfindMax lookupMaxfindMin lookupMindeleteAtupdateAtelemAt lookupIndexalterFalterupdateLookupWithKey updateWithKeyupdate adjustWithKeyadjustinsertLookupWithKey insertWithKey insertWith singletonemptylookupGElookupLElookupGTlookupLTfindWithDefault notMembermembersize!?!MapData.Map.Strict.Internal Data.Maybe fromMaybe GHC.MaybeMaybeNothingJust catMaybes listToMaybe maybeToListfromJust isNothingisJustmaybe Control.MonadguardjoinMonad>>=>>returnfailFunctorfmapmapMsequenceControl.Monad.IO.ClassMonadIOliftIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMforMmsum sequence_forM_mapM_ Data.FunctorvoidapliftM5liftM4liftM3liftM2liftMwhen=<< MonadPlusmzeromplusControl.Monad.Extra firstJustMfindMandMorMallManyM&&^||^notMifMunlessMwhenMwhileMloopMloop mapMaybeM mconcatMapM concatForM concatMapM partitionMfold1M_fold1MeitherMmaybeMunit whenMaybeM whenMaybe whenJustMwhenJusttransformers-0.5.5.0Control.Monad.Trans.Class MonadTranslift Data.Tuplefstsndswapuncurrycurry