!KG+      !"#$%&'()*None, "#&'+-0134567;<=>?ADFHKNPQSTV]^ei+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     None, "#&'+-0134567;<=>?ADFHKNPQSTV]^eiJ+"focus"What to do with the focused value.=The interpretation of the commands is up to the context APIs.focusProduce no changes focus Delete it focus"Set its value to the provided one focusCAbstraction over the modification of an element of a datastructure.6It is composable using the standard typeclasses, e.g.: TlookupAndDelete :: Monad m => Focus a m (Maybe a) lookupAndDelete = lookup <* deletefocusReproduces the behaviour of  Data.Map. Vhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:lookuplookup.focusReproduces the behaviour of  Data.Map. Vhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:lookuplookup.focusReproduces the behaviour of  Data.Map. _http://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:findWithDefaultfindWithDefault with a better name. focusReproduces the behaviour of  Data.Map. Vhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:deletedelete. focus-Lookup an element and delete it if it exists.Same as  <*  . focusReproduces the behaviour of  Data.Map. Vhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:insertinsert. focusReproduces the behaviour of  Data.Map. Zhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:insertWith insertWith with a better name. focusReproduces the behaviour of  Data.Map. Uhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:alteralter.focusReproduces the behaviour of  Data.Map. Vhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:adjustadjust.focusReproduces the behaviour of  Data.Map. Vhttp://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#v:updateupdate.focusRLift pure functions which handle the cases of presence and absence of the element.focushLift pure functions which handle the cases of presence and absence of the element and produce no result.focusA monadic version of .focusA monadic version of  .focusA monadic version of  .focusA monadic version of  .focusA monadic version of .focusA monadic version of .focusULift monadic functions which handle the cases of presence and absence of the element.focuskLift monadic functions which handle the cases of presence and absence of the element and produce no result.focusMap the Focus input.focus"Extends the output with the input.focus-Extends the output with the change performed.focusFExtends the output with a projection on the change that was performed.focusIExtends the output with a flag, signaling whether a change, which is not , has been introduced.focus6Extends the output with a flag, signaling whether the  change has been introduced. focusrExtends the output with a flag, signaling whether an item will be inserted. That is, it didn't exist before and a  change is introduced.!focusUExtend the output with a flag, signaling how the size will be affected by the change."focus Focus on the contents of a TVar.!focus Decreased focusDidn't change focus Increased #  !"#  !"      !"#$%&'()*+,-./01,23,24,56,78,9:,9;,-<,-=/>?,@A,BC/>D,-E,FG,-H/0I,JK,JL,MN,OP,-Q,RS,RT,RU,RV,RW,RX,RY,RZ,R[,R\,R],R^/_`/_a/_b,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,J{,J|,J},J~,J,J,J,J,J,J,J,J,-,-,-,-,-,,,,,,,,,,,,,,,,-,-,-,,,,,,,,/_/_/_/_/_/_/_/_,,,,,,J,J,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,J,J,J,J,J,J,,,,,,,,,,,,,,,-,-,-,-,-,-,,,,,,,,,,,,,,,,,,,,,,,,-,-,-,-,-,-/// / / / / ,,,,,-,-,-////,J,J/0,5 /!/",#$,#%,#&,#',(),(*,+,,+-,+.///0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@:,@;,<=,<>,<?,<@,<A,<B,<C,<D,<E,<F,GH,GI,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,G[,G\,G],F^,_,`,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,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,M,M,M,M,M,M,M,M,M,M,M,M,M,M,,,,,,,,B,B,B,B,B,B,B,B,B,B,B,B,,,,,,,,,,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,,, ,!,!,",#,7$,7%,7&,7',7(,7),7*,7+,7,,7-,7.,7/,70,71,72,73,74,75,76,77,78,79,:;,:<,:=,:>,:?,:@,:A,:B,:C,:D,:E,:F,:G,:H,:I,:J,:K,:L,:M,:N,:O,:P,:Q,:R,:S,:T,UV,UW,UX,UY,Z[,Z\,Z],Z^,Z_,Z`,Za,Zb,Zc,Zd,Ze,Zf,gh,gi,gj,gk,gl,mn,mo,mp,mq,rs,rt,ru,rv,rw,rx,ry,rz,r{,|},|~,|,|,|,|,|,|,|,|,|,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,O,O,O ,O ,O ,O ,O ,@ ,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@ ,@!,@",@#,@$,@%,@&,@',@(,@),@*,@+,@,,@-,@.,@/,@0,@1,@2,@3,@4,@5,@6,:7,U8,9:,9;,9<,9=,9>,9?,9@,9A,9B,9C,9D,9E,9F,9F,9G,9H,IJ,IK,IL,IM,NO,NP,NQ,NR,NS,NT,UV,WX,WY,WZ,W[,W\,]^,]_,]`,]a,]b,]c,]d,]e,]f,]g,]h,]i,jk,jl,jm,jn,op,oq,or,os,ot,ou,ov,ow,ox,oy,oz,o{,o|,o},o~,@,@,@,@,@,@,@,@,@,@,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,, ,, , , , , ,,,,,,,,,,,,,,,+,+,+ ,+!,+",+#,+$,+%,&',&(,&(,)*,)+,)+,),,),,-.,-/,-0,-1,-2,34,35,36,37,89,8:,8;,8<,8=,8>,8>,8?,8?,@A,@B,@C,@D,@E,FG,FH,FI,FJ,FK,FL,FM,5N,5O,5P,5Q,(R,(S,(T,(U,(V,(W,(X,(Y,(Z,[\,[],[^,[_,[`,[a,[b,[c,[d,[e,[f,[g,[h,[i,[j,[k,l,m,n,o,p,qr,qs,qt,qu,qv,wx,wy,wz,w{,c|,c},c~,#,#,#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,J,J,J,J,J,J,J,J,J,J,,,,,,,,,2,2,2,2,2,2,2,2,2,2,2,2,2,2 ,2 ,2 ,2 ,2 ,2,2,2,2,2,2,2,2,2,2,2,2,,,,,, ,!,",#,9$,9%,9&,'(,'),'*,+,,+-,+.,+/,+0,+1,+2,+3,+4,+5,6,-7,-8,-9,-:,-;,-<,-=,->,-?,-@,-A,-B,-C,-D,-E,-F,-G,-H,-I,-J,-K,-L,-M,-N,-O,-P,QR,QS,QT,U,U/_V/_W/_XYZ[YZ\]$focus-1.0.1.2-6qyKTKtRFnvEF0aEJzF2fFFocus Focus.PreludeChangeLeaveRemoveSetmemberlookuplookupWithDefaultdeletelookupAndDeleteinsert insertOrMergealteradjustupdatecases unitCaseslookupWithDefaultMinsertMinsertOrMergeMalterMadjustMupdateMcasesM unitCasesM mappingInputextractingInputextractingChangeprojectingChangetestingIfModifiestestingIfRemovestestingIfInsertstestingSizeChange onTVarValue$fMonadTransFocus $fMonadFocus$fApplicativeFocus$fFunctorChange $fEqChange $fOrdChange $fShowChange$fFunctorFocusbaseGHC.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.EnumBoundedminBoundmaxBoundEnumfromEnumtoEnumenumFrom enumFromThen enumFromToenumFromThenTosuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonadfail>>=>>return Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoFunctorfmap<$GHC.NumNum fromInteger-negate*+abssignumOrd>=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 Applicative<*>pure*>liftA2<* Data.FoldableFoldablefoldMapfoldrtoListnulllengthfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGeneric Semigroup<>Monoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeIntegerMaybeJustNothingOrderingLTEQGTRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherRightLeft CoercibleTyConuntangle 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 InterruptedhFlushstdoutGHC.IO.Handle.TypesnoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewlineHandle BufferMode NoBuffering LineBufferingBlockBufferingNewlineLFCRLF NewlineModeinputNLoutputNL GHC.IO.DeviceSeekMode AbsoluteSeek RelativeSeek SeekFromEnd Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.IO.Encoding.Types TextEncodingForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrGHC.ForeignPtrfinalizeForeignPtrplusForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr ForeignPtr 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 readSTRefnewSTRefSTRefGHC.STrunSTfixSTST 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