!d3      !"#$%&'()*+,-./012None*"#&'+-0134567;<=>?ADFHKNPQSTV]^e3stm-containersStrict version of  modifyTVar.456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./03None*"#&'+-0134567;<=>?ADFHKNPQSTV]^e' stm-containers<Hash-table, based on STM-specialized Hash Array Mapped Trie.stm-containersConstruct a new map.stm-containersConstruct a new map in IO.4This is useful for creating it on a top-level using , because using  inside  isn't possible.stm-containers Check, whether the map is empty.stm-containersGet the number of elements.stm-containersFocus on a value by the key.This function allows to perform composite operations in a single access to the map's row. E.g., you can look up a value and delete it at the same time, or update it and return the new value.stm-containersLook up an item.stm-containersInsert a value at a key.stm-containersDelete an item by a key. stm-containersDelete all the associations. stm-containersStream the associations.FAmongst other features this function provides an interface to folding.   None*"#&'+-0134567;<=>?ADFHKNPQSTV]^e@ stm-containersWBidirectional map. Essentially, a bijection between subsets of its two argument types.hFor one value of the left-hand type this map contains one value of the right-hand type and vice versa. stm-containersConstruct a new bimap. stm-containersConstruct a new bimap in IO.4This is useful for creating it on a top-level using , because using  inside  isn't possible.stm-containersCheck on being empty.stm-containersGet the number of elements.stm-containers)Focus on a right value by the left value.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.stm-containers)Focus on a left value by the right value.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.stm-containers(Look up a right value by the left value.stm-containers(Look up a left value by the right value.stm-containers)Insert the association by the left value.stm-containers*Insert the association by the right value.stm-containers)Delete the association by the left value.stm-containers*Delete the association by the right value.stm-containersDelete all the associations.stm-containersStream associations.FAmongst other features this function provides an interface to folding.  None*"#&'+-0134567;<=>?ADFHKNPQSTV]^eP stm-containers?A hash set, based on an STM-specialized hash array mapped trie.stm-containersConstruct a new set.stm-containersConstruct a new set in IO.4This is useful for creating it on a top-level using , because using  inside  isn't possible.stm-containers Check, whether the set is empty.stm-containersGet the number of elements.stm-containers$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. stm-containersLookup an element.!stm-containersInsert a new element."stm-containersDelete an element.#stm-containersDelete all the elements.$stm-containersStream elements.FAmongst other features this function provides an interface to folding.  !"#$  !"#$None*"#&'+-0134567;<=>?ADFHKNPQSTV]^edc%stm-containers?A multimap, based on an STM-specialized hash array mapped trie.)Basically it's just a wrapper API around  key ( value).&stm-containersConstruct a new multimap.'stm-containersConstruct a new multimap in IO.4This is useful for creating it on a top-level using , because using  inside  isn't possible.(stm-containersCheck on being empty.)stm-containers*Focus on an item by the value and the key.EThis function allows to perform simultaneous lookup and modification.The focus 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.*stm-containers%Look up an item by a value and a key.+stm-containersLook up all values by key.,stm-containersInsert an item.-stm-containers$Delete an item by a value and a key..stm-containers*Delete all values associated with the key./stm-containersDelete all the associations.0stm-containersStream associations.FAmongst other features this function provides an interface to folding.1stm-containers Stream keys.2stm-containersStream values by a key.%&'()*+,-./012%&'()*+,-./0121                 !"#$%&!'(!')!*+!,-!./!.0!"1!"2$34!56!78$39!":!;<!"=$%>!?@!?A!BC!DE!"F!GH!GI!GJ!GK!GL!GM!GN!GO!GP!GQ!GR!GS$TU$TV$TW!XY!XZ!X[!X\!X]!X^!X_!X`!Xa!Xb!Xc!Xd!Xe!Xf!Xg!Xh!Xi!Xj!Xk!Xl!Xm!Xn!Xo!?p!?q!?r!?s!?t!?u!?v!?w!?x!?y!?z!?{!"|!"}!"~!"!"!!!!!!!!!!!!!!!!"!"!"!!!!!!!!$T$T$T$T$T$T$T$T!!!!!!?!?!X!X!X!X!X!X!X!X!X!X!X!X!X!X!X!?!?!?!?!?!?!!!!!!!!!!!!!!!"!"!"!"!"!"!!!!!! !!!!!!!!!!!!!!!!!!"!"!"!"!"!"$$$$$$$!!!! !" !" !" $ $$$!?!?$%!*$$!!!!!!! !!!"$#$$!%&!'(!)*!5+!5,!5-!5.!5/!50!51!52!53!54!55!67!68!69!6:!6;!6<!6=!6>!6?!6@!AB!AC!AD!AE!AF!AG!AH!AI!AJ!AK!AL!AM!AN!AO!AP!AQ!AR!AS!AT!AU!AV!AW!;X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!B!B!B!B!B!B!B!B!B!B!B!B!B!B!!!!!!!!7!7!7!7!7!7!7!7!7!7!7!7!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!!,!,!, !,!!,"!,#!,$!,%!,&!,'!,(!,)!,*!,+!,,!,-!,.!,/!,0!,1!,2!,3!45!46!47!48!49!4:!4;!4<!4=!4>!4?!4@!4A!4B!4C!4D!4E!4F!4G!4H!4I!4J!4K!4L!4M!4N!OP!OQ!OR!OS!TU!TV!TW!TX!TY!TZ!T[!T\!T]!T^!T_!T`!ab!ac!ad!ae!af!gh!gi!gj!gk!lm!ln!lo!lp!lq!lr!ls!lt!lu!vw!vx!vy!vz!v{!v|!v}!v~!v!v!v!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!D!D!D!D!D!D!D!5!5!5 !5 !5 !5 !5 !5 !5 !5 !5 !5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5!5 !5!!5"!5#!5$!5%!5&!5'!5(!5)!5*!5+!5,!5-!5.!5/!50!41!O2!'3!'4!'5!'6!'7!'8!'9!':!';!'<!'=!'>!'>!'?!'@!AB!AC!AD!AE!FG!FH!FI!FJ!FK!FL!MN!OP!OQ!OR!OS!OT!%U!%V!%W!%X!%Y!%Z!%[!%\!%]!%^!%_!`a!`b!`c!`d!ef!eg!eh!ei!ej!ek!el!em!en!eo!ep!eq!er!es!et!5u!5v!5w!5x!5y!5z!5{!5|!5}!5w!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!  !  !  !  ! !!!!!!!!!!!!!!!! !!!!!"!"!#$!#%!#&!#'!#(!)*!)+!),!)-!./!.0!.1!.2!.3!.4!.4!.5!.5!67!68!69!6:!6;!<=!<>!<?!<@!<A!<B!<C!*D!*E!*F!*G!H!I!J!K!L!M!N!O!P!QR!QS!QT!QU!QV!QW!QX!QY!QZ!Q[!Q\!Q]!Q^!Q_!Q`!Qa!b!c!d!e!f!gh!gi!gj!gk!gl!mn!mo!mp!mq!Xr!Xs!Xt!u!v!w!xy!xz!x{!x|!x}!x~!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!x!!!!!)!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!?!?!?!?!?!?!?!?!?!!!!!!!!!'!'!'!'!'!'!' !'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!'!' !' !' !' !' !!!!!!!!!!.!.!.!!!! !!!"!#!$!%!&!'!(!)!*!"+!",!"-!".!"/!"0!"1!"2!"3!"4!"5!"6!"7!"8!"9!":!";!"<!"=!">!"?!"@!"A!"B!"C!"D!EF!EG!EH!~I!~I$TJ$TK$TLMNOMNPQRSQRSQTUQTUVWWVWWXYZXY[XY\]]^'stm-containers-1-1cyv1cdKknW2JGhSPaUJUiStmContainers.MapStmContainers.BimapStmContainers.SetStmContainers.MultimapStmContainers.PreludeMapnewnewIOnullsizefocuslookupinsertdeleteresetunfoldMBimap focusLeft focusRight lookupLeft lookupRight insertLeft insertRight deleteLeft deleteRightSetMultimap lookupByKey deleteByKey unfoldMKeys unfoldMByKey modifyTVar'baseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertError Debug.TracetraceinlinemapGHC.Exts groupWith$coerceGHC.Real fromIntegral realToFrac Control.Monadguard Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnfail Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoFunctorfmap<$GHC.NumNum*+-negate fromIntegerabssignumOrd>=minmax><<=compareGHC.ReadRead readsPrecreadListreadPrec readListPrecReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowListGHC.ArrIxrangeindexinRange rangeSizeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfix Data.StringIsString fromString Applicativepure<*>*>liftA2<* Data.FoldableFoldablefoldltoListfoldrfoldMaplengthfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGeneric Semigroup<>Monoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTyConGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STSTuntangle ioException heapOverflow stackOverflowcannotCompactMutablecannotCompactPinnedcannotCompactFunctionallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarunsupportedOperation Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12PicosortWith tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepIntRepFloatRepAlgRepCharRepNoRep ConstrRep AlgConstr IntConstr FloatConstr CharConstrConIndexFixityPrefixInfixSystem.TimeouttimeoutControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Monad.IO.ClassMonadIOliftIO Data.RatioapproxRational Data.STRef modifySTRef' modifySTRef Data.Unique hashUnique newUniqueUniqueSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath System.Exitdie exitSuccess exitFailureexitWith System.Mem performGCperformMajorGCperformMinorGCSystem.Mem.StableName eqStableNamehashStableNamemakeStableName StableName Text.PrintfhPrintfprintfmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM Data.Version makeVersion parseVersion showVersionVersion versionBranch versionTags traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceId putTraceMsgtraceIOfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrowarrfirstsecond***&&&Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice|||+++leftright ArrowApplyapp ArrowMonad ArrowLooploop(openBinaryTempFileWithDefaultPermissions"openTempFileWithDefaultPermissionsopenBinaryTempFile openTempFilefixIOwithBinaryFilewithFilehPrinthReadylocaleEncodingreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehShowhSetNewlineModehSetBinaryModehIsTerminalDevicehGetEchohSetEcho hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hGetEncoding hSetEncoding hSetBuffering hLookAheadisEOFhIsEOF hSetFileSize hFileSizehClose HandlePosnGHC.IO.Handle.FDopenBinaryFileopenFilestderrstdinGHC.IO.Handle.TexthGetBufNonBlocking hGetBufSomehGetBufhPutBufNonBlockinghPutBuf hPutStrLnhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInput GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarGHC.IO.EncodingmkTextEncodingchar8utf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1System.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMnewStablePtrPrimMVarmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterreportHeapOverflowThreadId BlockReason BlockedOnMVarBlockedOnBlackHoleBlockedOnException BlockedOnSTMBlockedOnForeignCallBlockedOnOther ThreadStatus ThreadRunningThreadFinished ThreadBlocked ThreadDiedPrimMVarSTMTVar dynTypeRepdynAppdynApply fromDynamicfromDynDynamicioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementFixIOExceptionExitCode ExitSuccess ExitFailure IOErrorTypeEOF AlreadyExists NoSuchThing ResourceBusyResourceExhaustedIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedhFlushstdoutnoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline BufferMode NoBuffering LineBufferingBlockBufferingNewlineLFCRLF NewlineModeinputNLoutputNL GHC.IO.DeviceSeekMode AbsoluteSeek RelativeSeek SeekFromEnd Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.IO.Encoding.Types TextEncodingForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrplusForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOcatchstToIOFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible userError IOExceptionIOError ioe_handleioe_type ioe_locationioe_description ioe_errno ioe_filename GHC.Exceptionthrow Exception toException fromExceptiondisplayException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOfTypeReprnfTyContyConFingerprint tyConName tyConModule tyConPackageData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrMData.Semigroup.InternalDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAlt Unsafe.Coerce unsafeCoerce 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 isSeparatorisNumberisMarkisLetter digitToInt Text.Readread readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDown Data.Proxy asProxyTypeOfProxyKProxyControl.Category>>><<<Categoryid.Data.Type.Equality:~:Refl:~~:HRefl Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtr GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeForeign.StorableStorable peekElemOff pokeElemOff peekByteOff pokeByteOffpeekpokecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtrNumericshowOctshowHex showIntAtBase showHFloat showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt lexDigits readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadPfromRat floatToDigits showFloat byteSwap64 byteSwap32 byteSwap16 GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlphaisSymbol isPunctuation isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorFormat Surrogate PrivateUse NotAssigned GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunSTfixST Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Boolbool Data.Function&onfix Data.Functorvoid$><&><$>lcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!reversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurry GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsubtractasTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**> Alternativeempty<|>somemany MonadPlusmzeromplusStringGHC.Err undefinederrorWithoutStackTraceerror SomeException&&||nottransformers-0.5.5.0Control.Monad.Trans.Class MonadTranslift+deferred-folds-0.6.8-5Hk1GeoTS4u1A70IDyhtAFDeferredFolds.UnfoldUnfoldDeferredFolds.UnfoldMUnfoldMfocus-1-ByqaR6HxQ8j83LbWXI8ebEFocus&hashable-1.2.7.0-Q2TKVDwk4GBEHmizb4teZData.Hashable.ClassHashable hashWithSalthashProduct2