l)*      !"#$%&'()None)!"%&*,/0234569:;<=?BDFILNOQRT[\*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%None)!"%&*,/0234569:;<=?BDFILNOQRT[\Passive producer of elements.(Something close to a Church encoding of IO (Maybe element).None)!"%&*,/0234569:;<=?BDFILNOQRT[\ @Passive producer of elements with support for early termination.&Automates the management of resources.     None)!"%&*,/0234569:;<=?BDFILNOQRT[\KActive consumer of input into output. Sort of like a reducer in Map/Reduce.&Automates the management of resources.eAn action, which executes the provided fetch in IO, while managing the resources behind the scenes.None)!"%&*,/0234569:;<=?BDFILNOQRT[\Execute the IO action.  !"# #"!   !"#None)!"%&*,/0234569:;<=?BDFILNOQRT[\(<Fetch all the elements running the provided handler on them )Fetch just one element $%&'()$%&'()$%&'()$%&'()&        !"#$%&'()*+,-.)/0)/1)23)45)67)68)*9)*:,;<)=>,;?)*@)AB)*C,-D)EF)EG)HI)JK)LM)*N)OP)OQ)OR)OS)OT)OU)OV)OW)OX)OY)OZ)O[,\],\^,\_)`a)`b)`c)`d)`e)`f)`g)`h)`i)`j)`k)`l)`m)`n)`o)`p)`q)`r)`s)`t)`u)`v)`w)Ex)Ey)Ez)E{)E|)E})E~)E)E)E)E)E)*)*)*)*)*))))))))))))))))*)*)*)))))))),\,\,\,\,\,\,\,\))))))E)E)`)`)`)`)`)`)`)`)`)`)`)`)`)`)`)E)E)E)E)E)E))))))))))J)))))*)*)*)*)*))))))))))))))))))))))))*)*)*)*,,,,,,,))) )    )*)*)*,,,,)E)E,-)2,,))))) !) ")#$)#%)#&,')J(,))*+),-)./)=0)=1)=2)=3)=4)=5)=6)=7)A8)9:)9;)<=)<>)<?)<@)<A)<B)<C)<D)<E)<F)<G)<H)<I)<J)<K)<L)<M)<N)<O)<P)<Q)<R)ST)SU)SV)SW)SX)SY)SZ)S[)S\)S])^)_)`)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){)|)})~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))H)H)H)H)H)H)H)H)H)H)H)H)H)H))))))))))))))))))))) ) ) ) ) ))))))))))))))))))))) )!")!#)!$)!%)!&)4')4()4))4*)4+)4,)4-)4.)4/)40)41)42)34)56)57)58)59)5:);<);=);>);?)@A)@B)@C)@D)@E)@F)@G)@H)@I)JK)LM)LN)LO)LO)PQ)PR)PS)PT)PU)PV)PW)PX)PY)PZ)P[)P\)P])P^)P_)P`)Pa)Pb)Pc)Pd)Pe)Pf)Pg)Ph)Pi)Pj)Pk)Pl)Pm)Pn)Po)Pp)Pq)Pr)Ps)Pt)Pu)Pv)Pw)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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=)=))))))*)*)*)*)*)*)*)*)*)*))))) ) ) )  )  ) ))))))))))2)2)2)2)))) )!)")#)$)%)&)')()))*)+),)-).)/)0)12)13)13)14)15)15)16)17)17)18)19)19)1:)1;)1;)1<)1=)1=)1>)1?)1?)1@)1A)1A)1B)1C)1C)1D) E) F) G) H) I) J) K) L) M)NO)NP)NQ)NR)NS)NT)UV)UW)UX)UY)Z[)Z\)Z])Z^)Z_)Z`)Za)Zb)Zc)Zd)Ze)Zf)Zg)Zh)=i)=j)=k)=l)=m)=n)=o)=p)=q)=k)Lr)Ls)Lt)Lu)Lv)Lw)xy)xz)x{)x|)x})x~)x~)x)x)x)x)x)x)x)x))))))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)J)J)))))))))))))))))))#)#)#)#)#)#)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))  )  )  )  ) )))))))))))))))`)` )`!)"#)"$)"%)"&)"')"()"))"*)"+)",)"-)".)"/)"0)"1)"2)"3)"4)"5)"6)"7)"8)"9)":)";)"<)"=)">)"?)"@)"A)BC)DE)DF)DG)HI)HJ)HK)LM)LN)LO)LP)LQ)LR)LS)LT)LU)LV)LW)LX)LY)LZ)L[)L\)L])L^)L_)L`)La)Lb)Lc)Ld)Le)Lf)Lg)Lh)Li)Lj)Lk)Ll)Lm)Ln)Lo)Lp)Lq)Lr)Ls)Lt)Lu)Lv)Lw)Lx)Ly)Lz)L{)L|)L})L~)L))))).).)E)E)E)E)E)E)E)E)E)E)))))))))/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/)/))))))))))6)6)6)))))))))))))))*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)*))))x)x),\,\,\                            !"#$%&'%()%(*%(+%(,%(-%(.%(/%(0%(1%(2%(3%45%46%47%48%49%4:%4;%4<%4=%4>%4?%4@%4A%4B%CD%CE%CF%CG%CH%CI%CJ%CK%CL%CM%CN%CO%CP%CQ%RS%RT%RU%RV%RW%RX%RY%RZ%R[%R\%]^%]_%]`%]a%bcd&potoki-core-1.2-4aIqzKaexuYG0c4V3UplTvPotoki.Core.FetchPotoki.Core.ProducePotoki.Core.ConsumePotoki.Core.TransformPotoki.Core.IOPotoki.Core.PreludeFetch duplicatelist$fMonadPlusFetch$fAlternativeFetch $fMonadFetch$fApplicativeFetch$fFunctorFetchProduce$fAlternativeProduce$fApplicativeProduce$fFunctorProduceConsumesum$fApplicativeConsume$fFunctorConsume$fChoiceConsume$fProfunctorConsume TransformconsumeproducemapFetch executeIOtake$fArrowChoiceTransform$fArrowTransform$fStrongTransform$fChoiceTransform$fProfunctorTransform$fCategoryTYPETransformproduceAndConsumeproduceAndTransformAndConsumefetchAndHandleAllfetchbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertErrorinlinemapGHC.Exts groupWith$coerceGHC.Real fromIntegral realToFrac Control.MonadguardData.Typeable.InternalmkAppTy 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 rangeSizeTypeableControl.Monad.FixMonadFixmfix Data.StringIsString fromString Applicativepure<*>*><* Data.FoldableFoldabletoListfoldrfoldMapnulllengthfoldlfoldl'foldl1productfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeNothingJustOrderingLTEQGTRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTypeRepTyConGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STSTuntangle ioException heapOverflow stackOverflowallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarunsupportedOperationsortWith Text.PrintfhPrintfprintf Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12Pico Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ 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 CharConstrConIndexFixityPrefixInfix Data.Version makeVersion parseVersion showVersionVersion versionBranch versionTagsSystem.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.RatioapproxRationalControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.ChanwriteList2ChangetChanContents isEmptyChan unGetChandupChanreadChan writeChannewChanChan Debug.Trace traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceIdtrace putTraceMsgtraceIOmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrowarrfirstsecond***&&&Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice|||+++leftright ArrowApplyapp ArrowMonad ArrowLooploopControl.Category>>><<<Categoryid.readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehClose GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarSystem.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustcatchPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically Text.Readread readMaybe readEitherreads GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVaralwaysalwaysSucceedscatchSTMthrowSTMorElseretry atomically unsafeIOToSTMmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterThreadId BlockReason BlockedOnMVarBlockedOnBlackHoleBlockedOnException BlockedOnSTMBlockedOnForeignCallBlockedOnOther ThreadStatus ThreadRunningThreadFinished ThreadBlocked ThreadDiedSTMTVarioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementExitCode ExitSuccess ExitFailure IOErrorTypeEOF AlreadyExists NoSuchThing ResourceBusyResourceExhaustedIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrData.Functor.ConstConstgetConstForeign.StorableStorablesizeOf alignment peekElemOff pokeElemOff peekByteOff pokeByteOffpeekpokecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.Monoid<>DualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAltcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORef GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOstToIOFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible userError IOExceptionIOError ioe_handleioe_type ioe_locationioe_description ioe_errno ioe_filename dynTypeRepdynAppdynApply fromDynamicfromDynDynamic GHC.Exceptionthrow Exception toException fromExceptiondisplayException ErrorCallErrorCallWithLocationArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.Typeablegcast2gcast1gcasteqTcast rnfTypeRep showsTypeReptypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1typeOftypeRep typeRepArgs typeRepTyCon funResultTy splitTyConAppmkFunTy mkTyConApptypeRepFingerprintrnfTyConmkTyCon3tyConFingerprint tyConString tyConName tyConModule tyConPackage Typeable1 Typeable2 Typeable3 Typeable4 Typeable5 Typeable6 Typeable7NumericshowOctshowHex showIntAtBase showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt byteSwap64 byteSwap32 byteSwap16isRightisLeftpartitionEithersrightsleftseitherData.Type.Equality:~:Refl Data.Proxy asProxyTypeOfProxyKProxy Data.OldListunwordswordsunlineslinesunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndData.Ord comparingDown Data.Char isSeparatorisNumberisMarkisLetter digitToInt 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 Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Boolbool Data.Function&onfix Data.Functorvoid$><$> GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlphaisSymbol isPunctuation isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryFormatControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparator Surrogate PrivateUse NotAssigned GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunSTfixSTlcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdrop dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurrysubtractGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVar GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOasTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA2liftA<**> Alternativeempty<|>somemany MonadPlusmzeromplusStringGHC.Err undefinederrorWithoutStackTraceerror SomeException Unsafe.Coerce unsafeCoerce&&||not(profunctors-5.2.1-BhE2Syyu6IjGszIb6znvrYData.Profunctor.ChoiceuncotambaraSum cotambaraSum untambaraSum tambaraSumChoiceleft'right' TambaraSum runTambaraSum PastroSumCochoiceunleftunright CotambaraSum CopastroSumrunCopastroSumData.Profunctor.Strong uncotambara cotambaraunpastropastro untambaratambarauncurry'Strongfirst'second'Tambara runTambaraPastroCostrongunfirstunsecond CotambaraCopastro runCopastroData.Profunctor.Unsafe Profunctor#.dimaplmaprmap.#"stm-2.4.4.1-JQn4hNPyYjP5m9AcbI88VeControl.Concurrent.STM.TArrayTArrayControl.Concurrent.STM.TBQueue isFullTBQueueisEmptyTBQueue unGetTBQueuetryPeekTBQueue peekTBQueuetryReadTBQueue readTBQueue writeTBQueue newTBQueueIO newTBQueueTBQueueControl.Concurrent.STM.TChan cloneTChan isEmptyTChan unGetTChandupTChan tryPeekTChan peekTChan tryReadTChan readTChan writeTChannewBroadcastTChanIOnewBroadcastTChan newTChanIOnewTChanTChanControl.Concurrent.STM.TMVar mkWeakTMVar isEmptyTMVar swapTMVar tryReadTMVar readTMVar tryPutTMVarputTMVar tryTakeTMVar takeTMVarnewEmptyTMVarIO newEmptyTMVar newTMVarIOnewTMVarTMVarControl.Concurrent.STM.TQueue isEmptyTQueue unGetTQueue tryPeekTQueue peekTQueue tryReadTQueue readTQueue writeTQueue newTQueueIO newTQueueTQueueControl.Concurrent.STM.TVar mkWeakTVarswapTVar modifyTVar' modifyTVarControl.Monad.STMcheck