h$?1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrNone >? stuvwxyz{|}~ None >? V None >?isomorphism-classBidirectional conversion between two types with no loss of information. The bidirectionality is encoded via a recursive dependency with arguments flipped.You can read the signature IsomorphicTo a b as "B is isomorphic to A".LawsA is isomorphic to B/ if and only if there exists a conversion from A to B () and a conversion from B to A ( ) such that: .  =   - For all values of A converting from A to B and then converting from B to A9 produces a value that is identical to the original. .  =   - For all values of B converting from B to A and then converting from A to B9 produces a value that is identical to the original.UsageThis class is particularly easy to use in combination with the TypeApplications extension making it clear to the reader what sort of conversion he sees. E.g., fromString = from @String toText = to @Text The types are also self-evident: > :t from @String from @String :: IsomorphicTo b String => String -> b :> :t to @Text to @Text :: IsomorphicTo Text b => b -> TextInstance Definition#For each pair of isomorphic types (A and B) the compiler will require you to define two instances, namely: IsomorphicTo A B and IsomorphicTo B A.isomorphism-class in reverse direction.,Particularly useful in combination with the TypeApplications= extension, where it allows to specify the input type, e.g.: fromString :: IsomorphicTo a String => String -> a fromString = from @String"The first type application of the < function on the other hand specifies the output data type.isomorphism-classA utility, which uses the # instance to produce a value that   is isomorphic to.=It lets you generalize over the functions like the following: ;showAsText :: Show a => a -> Text showAsText = showAs @Text showAsBuilder :: Show a => a -> Builder showAsBuilder = showAs @Builder       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|w}~w}wwwwwxwxzwwzwxwwxz{wwwwwwwwwwxwwwwwwwwwwwwzzzwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwxwxwwwwwwwwwwwwwwwwxwxwxwwwwwwwwzzzzzzzzwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwxwxwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwxwxwxwxwxwxwwzzzzzzzwwwwwwwwzzzzwwz{wzzwwwwwwwwwzzwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww w w w  w  w w w w w w w w w w w w w w w w w w w w w w  w  w w w w  w  w w  w  w w  w  w w  w  w w  w  w w  w  w w  w  w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w  w  w w w  w  w  w  w w w  w w w  w  w  w  w w w w w w  w  w  w  w  w  w  w  w  w  w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w  w w w  w  w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w  w w w w w  w w w w w w w w w w w w w w w w w w w w w w w  w w w w w w w w w w w w w w w w w w  w w w w w w w w w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w} w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w  w wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx wx w w w w w w z z z               ,isomorphism-class-0.1-DTiOrFF2ROwH17QMLxcDHHIsomorphismClassIsomorphismClass.Prelude!IsomorphismClass.TextCompat.Array IsomorphicTotofromshowAs$fIsomorphicToWord8Word8$fIsomorphicToWord8Int8$fIsomorphicToWord64Word64$fIsomorphicToWord64Int64$fIsomorphicToWord32Word32$fIsomorphicToWord32Int32$fIsomorphicToWord16Word16$fIsomorphicToWord16Int16$fIsomorphicToWordWord$fIsomorphicToWordInt$fIsomorphicToRatioRatio$fIsomorphicToIntegerInteger$fIsomorphicToInt8Word8$fIsomorphicToInt8Int8$fIsomorphicToInt64Word64$fIsomorphicToInt64Int64$fIsomorphicToInt32Word32$fIsomorphicToInt32Int32$fIsomorphicToInt16Word16$fIsomorphicToInt16Int16$fIsomorphicToIntWord$fIsomorphicToIntInt$fIsomorphicToFloatFloat$fIsomorphicToDoubleDouble$fIsomorphicToCharChar$fIsomorphicToBoolBool$fIsomorphicToSumSum$fIsomorphicToProductProduct$fIsomorphicToLastLast$fIsomorphicToFirstFirst$fIsomorphicToEitherEither$fIsomorphicToMaybeMaybe$fIsomorphicToIntMapMap$fIsomorphicToIntMapIntMap$fIsomorphicToMapIntMap$fIsomorphicToMapMap$fIsomorphicToIntSetSet$fIsomorphicToIntSetIntSet$fIsomorphicToSetIntSet$fIsomorphicToSetSet$fIsomorphicToSeqVector$fIsomorphicToSeq[]$fIsomorphicToSeqSeq$fIsomorphicToVectorSeq$fIsomorphicToVector[]$fIsomorphicToVectorVector$fIsomorphicToArrayBuilder$fIsomorphicToArrayByteString$fIsomorphicToArrayByteString0"$fIsomorphicToArrayShortByteString$fIsomorphicToArrayByteArray$fIsomorphicToArray[]$fIsomorphicToByteArrayArray$fIsomorphicToByteArrayBuilder!$fIsomorphicToByteArrayByteString"$fIsomorphicToByteArrayByteString0&$fIsomorphicToByteArrayShortByteString$fIsomorphicToByteArray[] $fIsomorphicToByteArrayByteArray$fIsomorphicToBuilderArray$fIsomorphicToBuilderByteArray$$fIsomorphicToBuilderShortByteString$fIsomorphicToBuilderByteString $fIsomorphicToBuilderByteString0$fIsomorphicToBuilder[]$fIsomorphicToBuilderBuilder"$fIsomorphicToShortByteStringArray&$fIsomorphicToShortByteStringByteArray$$fIsomorphicToShortByteStringBuilder'$fIsomorphicToShortByteStringByteString($fIsomorphicToShortByteStringByteString0$fIsomorphicToShortByteString[],$fIsomorphicToShortByteStringShortByteString$fIsomorphicToByteStringArray!$fIsomorphicToByteStringByteArray$fIsomorphicToByteStringBuilder'$fIsomorphicToByteStringShortByteString"$fIsomorphicToByteStringByteString$fIsomorphicToByteString[]#$fIsomorphicToByteStringByteString0$fIsomorphicToByteStringArray0"$fIsomorphicToByteStringByteArray0 $fIsomorphicToByteStringBuilder0($fIsomorphicToByteStringShortByteString0#$fIsomorphicToByteStringByteString1$fIsomorphicToByteString[]0#$fIsomorphicToByteStringByteString2$fIsomorphicToBuilderText$fIsomorphicToBuilderText0$fIsomorphicToBuilder[]0$fIsomorphicToBuilderBuilder0$fIsomorphicToTextBuilder$fIsomorphicToTextText$fIsomorphicToText[]$fIsomorphicToTextText0$fIsomorphicToTextBuilder0$fIsomorphicToTextText1$fIsomorphicToText[]0$fIsomorphicToTextText2$fIsomorphicTo[]Seq$fIsomorphicTo[]Vector$fIsomorphicTo[][]$fIsomorphicTo[]Array$fIsomorphicTo[]ByteArray$fIsomorphicTo[]Builder$fIsomorphicTo[]ShortByteString$fIsomorphicTo[]ByteString$fIsomorphicTo[]ByteString0$fIsomorphicTo[]Builder0$fIsomorphicTo[]Text$fIsomorphicTo[]Text0baseGHC.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.MonadguardIsListtoList fromListNItemfromList Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumpredsucctoEnumfromEnum enumFromToenumFromThenToenumFrom enumFromThen GHC.ClassesEq==/= GHC.FloatFloatinglog1mexplog1pexpexpm1log1patanhacoshasinhtanhcoshsinhatanacosasintancossinlogBase**sqrtlogpiexp Fractionalrecip fromRational/IntegraldivModquotRemmoddivrem toIntegerquotMonadreturn>>=>> Data.DataDatagmapMogmapMpgmapMgmapQigmapQgmapQrgmapQlgmapT dataCast2 dataCast1 dataTypeOftoConstrgfoldlgunfoldFunctorfmap<$GHC.NumNumsignumabs fromIntegernegate-+*Ord<<=>maxmin>=compareGHC.ReadRead readListPrecreadPrec readsPrecreadListReal toRational RealFloatatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatRadix floatDigitsRealFracfloorceilingroundproperFractiontruncateGHC.ShowShowshowListshow showsPrecGHC.IxIxindexrange rangeSizeinRangeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfixControl.Monad.Fail MonadFailfail Data.StringIsString fromString Applicative<*liftA2*>pure<*> Data.FoldableFoldablefoldr'foldMap'foldelemminimummaximumfoldr1productsumfoldl1foldl'nullfoldlfoldMapfoldrlengthData.Traversable Traversablesequence sequenceAtraversemapM GHC.GenericsGenericGeneric1GHC.OverloadedLabelsIsLabel fromLabel Semigroupstimes<>sconcatMonoidmconcatmemptymappend GHC.RecordsHasFieldgetField GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64integer-wired-inGHC.Integer.TypeInteger GHC.NaturalNatural GHC.MaybeMaybeNothingJustOrderingGTLTEQRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTyConGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STST Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12PicoData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOpData.Functor.ComposeCompose getCompose Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoid getOptionsortWith tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepNoRepCharRepAlgRepIntRepFloatRep ConstrRep CharConstr FloatConstr AlgConstr IntConstrConIndexFixityPrefixInfixSystem.TimeouttimeoutTimeoutControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNData.Bifunctor BifunctorsecondfirstbimapData.Functor.Classes showsBinary1 showsUnary1 showsUnary readsBinary1 readsUnary1 readsUnaryshowsBinaryWithshowsUnaryWithreadBinaryWithreadsBinaryWith readUnaryWithreadsUnaryWithreadData readsData showsPrec2liftReadListPrec2DefaultliftReadList2Default readPrec2 readsPrec2compare2eq2 showsPrec1liftReadListPrecDefaultliftReadListDefault readPrec1 readsPrec1compare1eq1Eq1liftEqOrd1 liftCompareRead1liftReadListPrec liftReadPrec liftReadsPrec liftReadListShow1 liftShowsPrec liftShowListEq2liftEq2Ord2 liftCompare2Read2liftReadListPrec2 liftReadPrec2liftReadsPrec2 liftReadList2Show2liftShowsPrec2 liftShowList2Control.Monad.IO.ClassMonadIOliftIO Data.RatioapproxRational Data.STRef modifySTRef' modifySTRef Data.Unique hashUnique newUniqueUniqueGHC.StableName eqStableNamehashStableNamemakeStableName StableNameSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath System.Exitdie exitSuccess exitFailureexitWith System.Mem performGCperformMajorGCperformMinorGC 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 putTraceMsgtraceIO Data.ListisSubsequenceOffoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrow&&&arr***Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoicerightleft|||+++ ArrowApplyapp ArrowMonad ArrowLooploopData.Functor.IdentityIdentity runIdentity(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.ExceptionallowInterruptcatchesHandlerControl.Monad.ST.ImpfixSTSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisResourceVanishedErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorTyperesourceVanishedErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorTypeisResourceVanishedError isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVarcatchSTMthrowSTMretry atomically unsafeIOToSTMnewStablePtrPrimMVarmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterreportHeapOverflowThreadId BlockReasonBlockedOnOtherBlockedOnForeignCall BlockedOnSTMBlockedOnException BlockedOnMVarBlockedOnBlackHole ThreadStatus ThreadDied ThreadBlocked ThreadRunningThreadFinishedPrimMVarSTMTVar dynTypeRepdynAppdynApply fromDynamicfromDynDynamicuntangleioError ioException heapOverflow stackOverflowasyncExceptionFromExceptionasyncExceptionToExceptioncannotCompactMutablecannotCompactPinnedcannotCompactFunctionallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncExceptionAsyncException UserInterrupt ThreadKilled StackOverflow HeapOverflowArrayExceptionIndexOutOfBoundsUndefinedElementFixIOExceptionExitCode ExitSuccess ExitFailure IOErrorType InterruptedResourceVanished TimeExpiredUnsupportedOperation HardwareFaultInappropriateTypeInvalidArgument OtherError ProtocolError SystemErrorUnsatisfiedConstraints UserErrorPermissionDeniedIllegalOperationResourceExhausted ResourceBusy NoSuchThingEOF AlreadyExistshFlushstdoutnoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline BufferModeBlockBuffering NoBuffering LineBufferingNewlineLFCRLF NewlineModeinputNLoutputNL GHC.IO.DeviceSeekMode SeekFromEnd AbsoluteSeek RelativeSeek Data.IORefatomicWriteIORefatomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.IO.Encoding.Types TextEncodingForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrplusForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr GHC.IORefatomicModifyIORef' writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOcatchstToIOFilePath MaskingStateMaskedUninterruptibleUnmaskedMaskedInterruptible userErrorunsupportedOperation IOExceptionIOError ioe_filename ioe_errnoioe_description ioe_location ioe_handleioe_type GHC.Exceptionthrow ErrorCallErrorCallWithLocationGHC.Exception.Type ExceptiondisplayException toException fromExceptionArithExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflow Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOfTypeReprnfTyContyConFingerprint tyConName tyConModule tyConPackageData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidApgetApData.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAlt Unsafe.Coerce unsafeCoerce Data.OldListunwordswordsunlineslinesunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisNumberisMarkisLetter digitToInt Text.Readread readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDowngetDown Data.Proxy asProxyTypeOfProxyKProxyControl.Category>>><<<Categoryid.Data.Type.Equality:~:Refl:~~:HRefl Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtr GHC.IO.IOModeIOMode ReadWriteMode AppendModeReadMode WriteModeForeign.StorableStorablepokepeek pokeByteOff peekByteOff pokeElemOff peekElemOffsizeOf alignmentcastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr 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 bitReverse64 bitReverse32 bitReverse16 bitReverse8 byteSwap64 byteSwap32 byteSwap16 GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlphaisSymbol isPunctuation isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategory NotAssigned PrivateUse SurrogateParagraphSeparator LineSeparatorSpace OtherSymbolModifierSymbolCurrencySymbol MathSymbolOtherPunctuation FinalQuote InitialQuoteClosePunctuationOpenPunctuationDashPunctuationConnectorPunctuation OtherNumber LetterNumber DecimalNumber EnclosingMarkSpacingCombiningMarkNonSpacingMark OtherLetterModifierLetterTitlecaseLetterLowercaseLetterUppercaseLetterFormatControl Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBitspopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSize bitSizeMaybetestBit complementBitclearBitsetBitbitzeroBitsrotateshift complementxor.&..|. FiniteBitscountTrailingZeros finiteBitSizecountLeadingZeroslcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunST intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailunconshead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybe Data.Boolbool Data.Function&onfix Data.Functorvoid$><&><$>swapuncurrycurry GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsubtractasTypeOfuntil$!flipconstordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**> Alternativemanysomeempty<|> MonadPlusmzeromplusNonEmpty:|StringGHC.Err undefinederrorWithoutStackTraceerrorstimesIdempotentMonoid SomeException&&||notbytestring-0.10.10.0Data.ByteString.Internal ByteStringcontainers-0.6.2.1Data.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Map.InternalMapData.Sequence.InternalSeqData.Set.InternalSet'hashable-1.4.0.2-IlhYX8oPry6K1Nkk5KloojData.Hashable.ClasstraverseHashed mapHashed hashedHashunhashedhashed hashByteArrayhashPtr hashUsingHashable hashWithSalthashHashedData.Hashable.LowLevelhashByteArrayWithSalthashPtrWithSalt text-1.2.3.2Data.Text.InternalText4unordered-containers-0.2.19.1-Coo1fx0gtgEKIpnSqKdDOsData.HashSet.InternalHashSetData.HashMap.InternalHashMap&vector-0.13.0.0-Isuxt6i9i5JITGRjEhCjvK Data.VectorVectortoUnliftedByteArrayfromUnliftedByteArray