v|6      !"#$%&'()*+,-./012345 None%!"&(*+-0134579<>@CFHIKLNUV6A replacement for the missing Traverse instance of pair in base < 4.7.6a789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~66None%!"&(*+-0134579<>@CFHIKLNUVA compact set of indices.(A number of indexes, preceding this one.None%!"&(*+-0134579<>@CFHIKLNUV An index of an element.A bitmap of set elements.yAn immutable space-efficient sparse array, which can store only as many elements as there are bits in the machine word.6An array with a single element at the specified index.KUnsafe. Assumes that the list is sorted and contains no duplicate indexes.#Convert into a list representation."Set an element value at the index.Remove an element.Lookup an item at the index.Lookup strictly, using .0Check, whether there is an element at the index.Get the amount of elements.None%!"&(*+-0134579<>@CFHIKLNUVAn index of an element.TAn array, which sacrifices the performance for space-efficiency and thread-safety.Get the amount of elements.Get the amount of elements.)Unsafe. Doesn't check the index overflow.    None%!"&(*+-0134579<>@CFHIKLNUV4A depth level of a node. Must be a multiple of the  value. None%!"&(*+-0134579<>@CFHIKLNUV  None%!"&(*+-0134579<>@CFHIKLNUV   None%!"&(*+-0134579<>@CFHIKLNUV A constraint for keys.AA hash table, based on an STM-specialized hash array mapped trie.Look up an item.Insert a value at a key.Delete an item by a key.*Focus on an item by a key with a strategy.This function allows to perform composite operations in a single access to a map item. E.g., you can look up an item and delete it at the same time, or update it and return the new value.Construct a new map.Construct a new map in IO.4This is useful for creating it on a top-level using , because using   inside  isn't possible. Check, whether the map is empty. Get the number of elements. Stream associations.PAmongst other features this function provides an interface to folding via the   function.     None%!"&(*+-0134579<>@CFHIKLNUV A constraint for elements. ?A hash set, based on an STM-specialized hash array mapped trie. Insert a new element.Delete an element.Lookup an element.$Focus on an element with a strategy.EThis function allows to perform simultaneous lookup and modification.The strategy is over a unit since we already know, which element we're focusing on and it doesn't make sense to replace it, however we still can decide wether to keep or remove it.Construct a new set.Construct a new set in IO.4This is useful for creating it on a top-level using , because using   inside  isn't possible. Check, whether the set is empty.Get the number of elements.Stream elements.PAmongst other features this function provides an interface to folding via the   function.       None%!"&(*+-0134579<>@CFHIKLNUVA constraint for values.A constraint for keys.A constraint for associations.?A multimap, based on an STM-specialized hash array mapped trie.)Basically it's just a wrapper API around  k (  v).%Look up an item by a value and a key.Look up all values by key.Insert an item.$Delete an item by a value and a key.(Delete all values associated with a key.6Focus on an item with a strategy by a value and a key.EThis function allows to perform simultaneous lookup and modification.The strategy is over a unit since we already know, which value we're focusing on and it doesn't make sense to replace it, however we still can decide wether to keep or remove it. Construct a new multimap.!Construct a new multimap in IO.4This is useful for creating it on a top-level using , because using   inside  isn't possible."Check on being empty.#Stream associations.OAmongst other features this function provides an interface to folding via the   function.$ Stream keys.%Stream values by a key. !"#$% !"#$% !"#$% !"#$%None%!"&(*+-0134579<>@CFHIKLNUV&A constraint for keys.'A constraint for associations.(XA bidirectional map. Essentially a bijection between subsets of its two argument types.fFor one value of a left-hand type this map contains one value of the right-hand type and vice versa.)Construct a new bimap.*Construct a new bimap in IO.4This is useful for creating it on a top-level using , because using   inside  isn't possible.+Check on being empty.,Get the number of elements.-&Look up a right value by a left value..&Look up a left value by a right value./&Insert an association by a left value.0'Insert an association by a right value.1&Delete an association by a left value.2'Delete an association by a right value.37Focus on a right value by a left value with a strategy.This function allows to perform composite operations in a single access to a map item. E.g., you can look up an item and delete it at the same time, or update it and return the new value.47Focus on a left value by a right value with a strategy.This function allows to perform composite operations in a single access to a map item. E.g., you can look up an item and delete it at the same time, or update it and return the new value.5Stream associations.PAmongst other features this function provides an interface to folding via the   function.&'()*+,-./012345&'()*+,-./012345('&)*/012-.34+,5&'()*+,-./012345 !"#$%&'()*+,-.,/0123,45,46,78,9:,9;,-<,-=1>?,@A1>B,-C,DE,-F,/G,HI,HJ,KL,MN,MO,MP,MQ1RS1RT,HU,-V,-W,-X,-Y,-Z,[\,]^,]_,]`,]a,bc,Kd,Ke,Kf,Kg,hi,jk,-l,-m,-n,Mo,Mp1Rq,rs,Kt,Ku,-v,wx,-y,Hz1R{,|},K~,r,K,,,j,[,b,-,,,11111,,,,1,K,K1211,,,,,,-,j11,,111,,,,,,,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,'(,'),'*,'+,,-,,.,,/,,0,,1,,2,,3,,4,,5,,6,78,79,7:,7;,<=,<>,<?,<@,AB,AC,AD,AE,AF,AG,AH,AI,AJ,DK,LM,LN,LO,LP,LQ,LR,LS,LT,LU,LV,wW,wX,wY,wZ,w[,w\,w],w^,w_,w`,wa,wb,wc,wd,we,wf,wg,wh,wi,wj,wk,wl,wm,wn,wo,wp,wq,wr,ws,wt,wu,wv,ww,wx,wy,wz,w{,w|,w},w~,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,,,,,,,,h,h,h,h,h,h,h,h,h,h,h,h,h,h,,,,,,,,,,,,,,,,,,,,,,,,],],],],],],],],],],],],],],],],],],],],],],],],7,7,7,7,7,7,7,7,7,7,7,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,, ,!,",#,$,%&,%',%(,%),%*,%+,%,,%-,%.,%/,%0,%1,%2,%2,%3,%3,%4,%4,%5,%5,%6,%6,%7,%7,%8,%8,9:,9;,9<,9=,9>,9?,9@,9A,9B,9C,9D,9E,9F,9G,9H,9I,9J,9K,9L,9M,9N,9O,9P,9Q,9R,9S,9T,9U,9V,9W,9X,9Y,9Z,9[,9\,9],9^,9_,9`,9a,9b,9c,9d,9d,9e,9f,9g,9h,9i,9j,9k,9l,9m,9n,9o,9p,9q,9q,9r,9r,@s,@t,@u,@v,@v,@w,@w,@x,@x,@y,@y,@z,@z,@{,@{,@|,@},@~,@,@,@,@,@,@,@,@,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@,@,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , , ,  , , , , ,j,j,j,j,j,j,j,j,j,j,j,j,j,j,j ,j!,j",j#,j$,j%,j&,j',j(,j),j*,j+,j,,j-,j.,j/,j0,j1,j2,34,35,36,37,38,39,3:,3;,3<,3=,3>,3?,3@,3A,3B,CD,CD,EF,EG,EH,EI,EJ,EK,EL,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EV,EW,EX,EY,EZ,E[,E\,E],E^,E_,E`,Ea,Eb,Ec,Ed,Ee,Ef,E,Eg,Eh,Ei,Ej,Ek,El,Em,En,Eo,Ep,E,Eq,Er,Es,Et,Eu,Ev,Ew,Ex,Ey,Ez,E{,|},|~,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,|,,,,,,,,,,,,,,|,|,|,|,|,|,|,|,|,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,K!,K",K#,K$,K%,K&,K',K(,K),K*,K+,K,,K-,K.,K/,K0,K1,K2,K3,K4,K5,K6,K7,M8,M9,M:,M;,M<,M=,>?,@A,@B,CD,CE,F,G,H,I,J,K,L,M,N,O,P,Q,4R,4S,4T,4U,4V,4W,4,4X,4Y,4Z,4[,4\,4],4^,4_,4`,4a,4b,4c,4d,4e,4f,4g,4h,4i,4j,4k,4l,4m,no,np,nq,nr,ns,nt,nu,nv,nw,9x,9y,9z,H{,H|,H},H~,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,,1R1R1R1R1R1R1R1R1R1R        =                           "stmco_0TfO1b6A8y9CsvzJwbNF3PSTMContainers.MapSTMContainers.SetSTMContainers.MultimapSTMContainers.BimapSTMContainers.PreludeSTMContainers.WordArray.IndicesSTMContainers.WordArraySTMContainers.SizedArraySTMContainers.HAMT.LevelSTMContainers.HAMT.NodesSTMContainers.HAMTListTfoldKeyMaplookupinsertdeletefocusnewnewIOnullsizestreamElementSetValue AssociationMultimap lookupByKey deleteByKey streamKeys streamByKeyBimaplookup1lookup2insert1insert2delete1delete2focus1focus2 traversePairbaseGHC.Base++GHC.Errerrorghc-primGHC.PrimseqGHC.Listfilterzip System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertErrorinlinemapGHC.Exts groupWith$ undefinedGHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negatefail>>=>>fmapreturnControl.Monad.Fixmfix Control.Arrowarrapp|||loop Data.String fromString fromIntegral realToFrac toInteger toRational Control.MonadguardData.Typeable.InternalmkAppTyjoin<*>pureBoundedEnumEq GHC.FloatFloating FractionalIntegralMonad Data.DataDataFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowGHC.ArrIxTypeableMonadFixIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGeneric GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerOrderingRatioRational RealWorldIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherStringTypeRepFalseTrueLeftRightLTEQGTGHC.IO.Handle.TypesHandlerangeindexinRange rangeSizeGHC.STSTuntangle ioException heapOverflow stackOverflowallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVar ioe_filename ioe_errnoioe_description ioe_locationioe_type ioe_handleIOError InterruptedResourceVanished TimeExpiredUnsupportedOperation HardwareFaultInappropriateTypeInvalidArgument OtherError ProtocolError SystemErrorUnsatisfiedConstraints UserErrorPermissionDeniedIllegalOperationEOFResourceExhausted ResourceBusy NoSuchThing AlreadyExistsunsupportedOperation Text.PrintfhPrintfprintfSystem.TimeouttimeoutSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName System.Mem performGCperformMajorGCperformMinorGC System.Exitdie exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath Data.Unique hashUnique newUniqueUnique Data.STRef modifySTRef' modifySTRef Data.RatioapproxRational Data.Fixed showFixedmod'divMod'div'MkFixedFixed resolution HasResolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPart:+ComplexData.Bifunctorsecondfirstbimap BifunctorControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChansortWith Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowtraceIdtrace putTraceMsgtraceIO tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrgmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgunfoldgfoldlDataTypeConstrNoRepCharRepFloatRepIntRepAlgRepDataRep CharConstr FloatConstr IntConstr AlgConstr ConstrRepConIndexInfixPrefixFixity Data.Version makeVersion parseVersion showVersion versionTags versionBranchVersionmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforsequencemapM sequenceAtraverseControl.ApplicativeoptionalgetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipListleftApp^<<<<^>>^^>>returnA&&&***Arrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoopreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterThreadIdBlockedOnOtherBlockedOnForeignCall BlockedOnSTMBlockedOnExceptionBlockedOnBlackHole BlockedOnMVar BlockReason ThreadDied ThreadBlockedThreadFinished ThreadRunning ThreadStatusSTMTVarioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncException UserInterrupt ThreadKilled HeapOverflow StackOverflowAsyncExceptionUndefinedElementIndexOutOfBoundsArrayException ExitFailure ExitSuccessExitCode IOErrorTypeForeign.StorableStorable Data.Dynamic dynTypeRepdynAppdynApply fromDynamicfromDyntoDynDynamic Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingStatethrowIOunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOstToIOFilePathMaskedUninterruptibleMaskedInterruptibleUnmasked MaskingState userError IOException GHC.Exceptionthrow SomeExceptiondisplayException fromException toException Exception ErrorCallRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithExceptionGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar Text.Readread readMaybe readEitherreadsfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMproductsumminimummaximumelemlengthtoListfoldl1foldr1foldl'foldlfoldr'foldrfoldMap Data.Monoid<>getDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastgetAltAltisRightisLeftpartitionEithersrightsleftseither Data.Typeablegcast2gcast1gcasteqTcastrnfTyCon rnfTypeRep showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeReptypeRepFingerprint tyConString typeRepArgs typeRepTyConmkTyCon3 funResultTy splitTyConAppmkFunTy mkTyConApp tyConName tyConModule tyConPackagetyConFingerprintTyCon Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7NumericshowOctshowHex showIntAtBase showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt Data.ProxyProxy Data.OldListunwordswordsunlineslinesunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertBy partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBynubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToInt NotAssigned PrivateUse SurrogateFormatControlParagraphSeparator LineSeparatorSpace OtherSymbolModifierSymbolCurrencySymbol MathSymbolOtherPunctuation FinalQuote InitialQuoteClosePunctuationOpenPunctuationDashPunctuationConnectorPunctuation OtherNumber LetterNumber DecimalNumber EnclosingMarkSpacingCombiningMarkNonSpacingMark OtherLetterModifierLetterTitlecaseLetterLowercaseLetterUppercaseLetterGeneralCategoryControl.Category>>><<<.idCategoryData.Type.EqualityRefl:~:Data.Ord comparingDown byteSwap64 byteSwap32 byteSwap16 lexDigits readLitChar lexLitCharlex readParen readListPrecreadPrecreadList readsPrecfromRat floatToDigits showFloatatanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadP GHC.STRef writeSTRef readSTRefnewSTRefSTRef GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlpha isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAscii Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.|..&.BitscountTrailingZeroscountLeadingZeros finiteBitSize FiniteBitslcmgcd^^^oddeven showSigned denominator numerator%divModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFractionmaxBoundminBoundfromEnumtoEnumpredsuccGHC.Charchr Data.Functiononfix Data.Functorvoid<$>runSTfixST intToDigit showLitChar showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!!reversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractsignumabs*+asTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**>JustNothingMaybemconcatmappendmemptyMonoid<$<**>manysome<|>empty Alternativemplusmzero MonadPlus Unsafe.Coerce unsafeCoerce/=compare<=&&||not<>maxminbasep_92hevlOYWyzE81WMeb5vH5 BasePreludesortOnunconsisSubsequenceOf&$> traceShowMtraceM traceShowIdboolhasha_EalUWgp8NarBYWPbvYAD8IData.Hashable.Classhash hashWithSaltHashablelistt_4kt1VcpJ7Vr0oupxcBTjuntrans_GZTjP9K5WFq01xC9BAGQpFControl.Monad.Trans.Classlift MonadTransIndicespositionPositionIndex singletoninvertmaxSizefromList positions allIndices WordArray toMaybeListsetunsetlookupMprimi_EphY2c7CCxSCBKjAN0YTR3Data.Primitive.Array indexArrayMisSetindicespairelementsfocusM$fFoldableWordArray SizedArrayappend$fFoldableSizedArrayLevelstep hashIndexlimit ElementKey elementKeyHashNodeNodesLeafLeavesHAMTassociationValue $fElement(,) HAMTElementhamt elementValue$fElementHAMTElementm1m2