h,Uf(    0.26None ->q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None ->!Evidence that all values of type sub% form a subset of all values of type sup. $https://en.wikipedia.org/wiki/SubsetFrom Wikipedia:In mathematics, a set A is a subset of a set B if all elements of A are also elements of B; B is then a superset of A. It is possible for A and B to be equal; if they are unequal, then A is a proper subset of B. The relationship of one set being a subset of another is called inclusion (or sometimes containment). A is a subset of B may also be expressed as B includes (or contains) A or A is included (or contained) in B. A k-subset is a subset with k elements.Laws is injectiveFor every two values of type sub$ that are not equal converting with / will always produce values that are not equal. !\(a, b) -> a == b || to a /= to b is an inverse of For all values of sub converting to sup( and then attempting to convert back to sub always succeeds and produces a value that is equal to the original.  \a -> maybeFrom (to a) == Just a=For testing whether your instances conform to these laws use .1Convert a value a subset type to a superset type.*This function is injective non-surjective. ?https://en.wikipedia.org/wiki/Inverse_function#Partial_inversesPartial inverse of .This function is a  https://en.wikipedia.org/wiki/Bijection#Generalization_to_partial_functionspartial bijection. The empty set has no elements, and therefore is vacuously a subset of any set. #Every type is isomorphic to itself.None ->Bidirectional 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 Is a b as "B is A".LawsB is isomorphic to A/ if and only if there exists a conversion from B to A () and a conversion from A to B ( ) such that: .  = id - 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. .  = id - 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 testing whether your instances conform to these laws use .Instance Definition#For each pair of isomorphic types (A and B) the compiler will require you to define four instances, namely: Is A B and Is B A as well as  IsSome A B and  IsSome B A. in reverse direction.,Particularly useful in combination with the TypeApplications= extension, where it allows to specify the input type, e.g.: 8fromText :: Is Text b => Text -> b fromText = from @Text"The first type application of the < function on the other hand specifies the output data type. !Any type is isomorphic to itself. None -> None ->>Van-Laarhoven-style Prism, compatible with the "lens" library.Van-Laarhoven-style Isomorphism, compatible with the "lens" library. None ->=Properties testing whether an instance satisfies the laws of .The instance is identified via the proxy types that you provide.?E.g., here's how you can integrate it into an Hspec test-suite: spec = do describe "IsSome laws" do traverse_ (uncurry prop) (isSomeLawsProperties @Int32 @Int16 Proxy Proxy) =Properties testing whether an instance satisfies the laws of .The instance is identified via the proxy types that you provide.?E.g., here's how you can integrate it into an Hspec test-suite: spec = do describe "Is laws" do traverse_ (uncurry prop) (isLawsProperties @Int32 @Word32 Proxy Proxy)  None -> Helper for deriving common instances on types which have an instance of  sup using the  DerivingVia extension.E.g., newtype Percent = Percent Double deriving newtype (Show, Eq, Ord) deriving (Read, IsString, Arbitrary) via (ViaIsSome Double Percent) instance IsSome Double Percent where to (Percent double) = double maybeFrom double = if double < 0 || double > 1 then Nothing else Just (Percent double)In the code above all the instances that are able to construct the values of Percent( are automatically derived based on the IsSome Double Percent instance. This guarantees that they only construct values that pass thru the checks defined in .  None -> None ->3None ->fNone -> Safe-Inferred ->None -> None -> <None -> oNone -> None -> None ->! Safe-Inferred ->!ENone ->!xNone ->!None ->!None ->"None ->"DNone ->"wNone ->" None ->"!None ->#"None ->#C#None ->#v$None ->#% Safe-Inferred ->#&None ->$'None ->$L(None ->$) Safe-Inferred ->$*None ->$+None ->%",None ->%V-None ->%.None ->%/None ->%0None ->&#1 Safe-Inferred ->&`2None ->&3None ->&4None ->&5None ->'.6None ->'a7None ->'8 Safe-Inferred ->'9None ->(None ->(8     :None ->(  ;<=>? @ A   B BCDECFGCFHCFICFJCFKCLMCLNCLOCLPCLQCLRCSTCSUCSVCWXCWYCWZC[\C[]C[^C[_C[`CabCacCadCaeCafCagCahCaiCjkCjlCjmCjnCopCoqCorCosCotCouCovCowCoxCoyCozCo{Co|Co}Co~CoCoCoCoCoCoCoCoCoCoCoCoCoCCCCCCCCCCCCCCCCDCDCDCDCDCDCLCSCWCCCCCCCaCaCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCjCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     : : : : : : isomorphism-class-0.2-inplaceIsomorphismClassisomorphism-classIsomorphismClass.PreludeIsomorphismClass.Classes.IsSomeisSomeLawsProperties $dmmaybeFromIsomorphismClass.Classes.IsisLawsPropertiesIsomorphismClass.ClassesIsomorphismClass.OpticsIsomorphismClass.Laws"IsomorphismClass.Proxies.ViaIsSomeIsomorphismClass.Proxies-IsomorphismClass.Relations.BoxedVectorAndList,IsomorphismClass.Relations.BoxedVectorAndSeq6IsomorphismClass.Relations.ByteArrayAndShortByteString0IsomorphismClass.Relations.ByteArrayAndTextArray0IsomorphismClass.Relations.ByteArrayAndWord8List6IsomorphismClass.Relations.ByteStringAndLazyByteString=IsomorphismClass.Relations.ByteStringAndLazyByteStringBuilder7IsomorphismClass.Relations.ByteStringAndShortByteString1IsomorphismClass.Relations.ByteArrayAndByteString,IsomorphismClass.Relations.ByteStringAndText1IsomorphismClass.Relations.ByteStringAndTextArray1IsomorphismClass.Relations.ByteStringAndWord8List)IsomorphismClass.Relations.Int16AndWord16)IsomorphismClass.Relations.Int32AndWord32)IsomorphismClass.Relations.Int64AndWord64'IsomorphismClass.Relations.Int8AndWord8%IsomorphismClass.Relations.IntAndWord,IsomorphismClass.Relations.IntMapAndMapOfInt-IsomorphismClass.Relations.IntSetAndSetOfIntsIsomorphismClass.Relations.LazyByteStringAndLazyByteStringBuilder4IsomorphismClass.Relations.LazyByteStringAndLazyText;IsomorphismClass.Relations.LazyByteStringAndShortByteString5IsomorphismClass.Relations.ByteArrayAndLazyByteString5IsomorphismClass.Relations.LazyByteStringAndTextArray5IsomorphismClass.Relations.LazyByteStringAndWord8ListIsomorphismClass.Relations.LazyByteStringBuilderAndShortByteStringIsomorphismClass.Relations.LazyTextBuilderAndStrictTextBuilder1IsomorphismClass.Relations.LazyTextBuilderAndText%IsomorphismClass.Relations.ListAndSeq6IsomorphismClass.Relations.ShortByteStringAndTextArray6IsomorphismClass.Relations.ShortByteStringAndWord8List3IsomorphismClass.Relations.StrictTextBuilderAndText(IsomorphismClass.Relations.StringAndText5IsomorphismClass.Relations.StrictTextBuilderAndString3IsomorphismClass.Relations.LazyTextBuilderAndString,IsomorphismClass.Relations.LazyTextAndString0IsomorphismClass.Relations.TextArrayAndWord8ListIsomorphismClass.Relations!IsomorphismClass.TextCompat.ArrayIsSometo maybeFromIsfrom isSomePrismisIso ViaIsSomebaseControl.ApplicativeoptionalControl.Concurrent forkFinallythreadWaitReadthreadWaitReadSTMthreadWaitWritethreadWaitWriteSTMControl.Concurrent.ChandupChangetChanContentsnewChanreadChan writeChanwriteList2ChanControl.Concurrent.QSemnewQSem signalQSemwaitQSemControl.Concurrent.QSemNnewQSemN signalQSemN waitQSemN Data.Char digitToIntisLetterisMarkisNumber isSeparator Data.Complexcis conjugateimagPart magnitudemkPolarphasepolarrealPart Data.Fixeddiv'divMod'mod' showFixedData.Functor.Classescompare1compare2eq1eq2liftReadList2DefaultliftReadListDefaultliftReadListPrec2DefaultliftReadListPrecDefaultreadBinaryWithreadData readPrec1 readPrec2 readUnaryWith readsBinary1readsBinaryWith readsData readsPrec1 readsPrec2 readsUnary readsUnary1readsUnaryWith showsBinary1showsBinaryWith showsPrec1 showsPrec2 showsUnary showsUnary1showsUnaryWithData.Functor.Contravariant$<>$$<>$<comparisonEquivalencedefaultComparisondefaultEquivalencephantom Data.RatioapproxRationalData.Semigroupcycle1diff mtimesDefaultSystem.IO.Unsafe unsafeFixIOSystem.Timeouttimeout Text.PrintfhPrintfprintf ghc-internalGHC.Internal.Base$$!++<**>=<<absurdapasTypeOfassertconstflipjoinliftAliftA3liftMliftM2liftM3liftM4liftM5mapord otherwiseuntilvacuouswhenGHC.Internal.Bits bitDefaultpopCountDefaulttestBitDefaulttoIntegralSizedGHC.Internal.CharchrGHC.Internal.Conc.BoundforkOSforkOSWithUnmaskisCurrentThreadBoundrtsSupportsBoundThreadsrunInBoundThreadrunInUnboundThreadGHC.Internal.Conc.IO closeFdWithensureIOManagerIsRunningioManagerCapabilitiesChanged registerDelay threadDelayGHC.Internal.Conc.Signal runHandlers setHandlerGHC.Internal.Conc.Sync atomicallycatchSTM childHandlerdisableAllocationLimitenableAllocationLimitforkIOforkIOWithUnmaskforkOnforkOnWithUnmaskgetAllocationCountergetNumCapabilitiesgetNumProcessorsgetUncaughtExceptionHandler killThread labelThread listThreadsmkWeakThreadId myThreadIdnewTVar newTVarIOnumCapabilities numSparksparpseqreadTVar readTVarIO reportErrorreportHeapOverflowreportStackOverflowretry runSparkssetAllocationCountersetNumCapabilitiessetUncaughtExceptionHandlerthreadCapability threadStatusthrowSTMthrowTo unsafeIOToSTM writeTVaryieldGHC.Internal.Control.Category<<<>>>$GHC.Internal.Control.Concurrent.MVaraddMVarFinalizer mkWeakMVar modifyMVarmodifyMVarMaskedmodifyMVarMasked_ modifyMVar_swapMVarwithMVarwithMVarMaskedGHC.Internal.Control.ExceptionallowInterruptcatches#GHC.Internal.Control.Exception.BasebracketbracketOnErrorbracket_ catchJustfinallyhandle handleJust mapException onExceptiontrytryJustGHC.Internal.Control.Monad<$!><=<>=>filterMfoldMfoldM_foreverguard mapAndUnzipMmfilter replicateM replicateM_unlesszipWithM zipWithM_!GHC.Internal.Control.Monad.ST.ImpfixSTGHC.Internal.Data.Bits!<<.!>>..<<..>>..^.oneBitsGHC.Internal.Data.BoolboolGHC.Internal.Data.Data constrFields constrFixity constrIndex constrRep constrTypedataTypeConstrs dataTypeName dataTypeRep fromConstr fromConstrB fromConstrM indexConstr isAlgType isNorepTypemaxConstrIndex mkCharConstr mkCharTypemkConstr mkConstrTag mkDataType mkFloatType mkIntTypemkIntegralConstr mkNoRepType mkRealConstr readConstr repConstr showConstr tyconModule tyconUQnameGHC.Internal.Data.DynamicdynAppdynApply dynTypeRepfromDyn fromDynamictoDynGHC.Internal.Data.EithereitherfromLeft fromRightisLeftisRightleftspartitionEithersrightsGHC.Internal.Data.Foldableallandanyasumconcat concatMapfindfoldlMfoldrMforM_for_mapM_ maximumBy minimumBymsumnotElemor sequenceA_ sequence_ traverse_GHC.Internal.Data.Function& applyWhenfixonGHC.Internal.Data.Functor$><$><&>voidGHC.Internal.Data.IORefatomicModifyIORefatomicWriteIORef mkWeakIORef modifyIORef modifyIORef'GHC.Internal.Data.ListisSubsequenceOfGHC.Internal.Data.Maybe catMaybesfromJust fromMaybeisJust isNothing listToMaybemapMaybemaybe maybeToListGHC.Internal.Data.OldList\\deletedeleteBydeleteFirstsBy dropWhileEnd elemIndex elemIndices findIndex findIndices genericDrop genericIndex genericLengthgenericReplicategenericSplitAt genericTakegroupgroupByinitsinsertinsertBy intercalate intersect intersectBy intersperse isInfixOf isPrefixOf isSuffixOflinesnubnubBy partition permutations singletonsortsortBysortOn stripPrefix subsequencestails transposeunfoldrunionunionByunlinesunwordsunzip4unzip5unzip6unzip7wordszip4zip5zip6zip7zipWith4zipWith5zipWith6zipWith7GHC.Internal.Data.Ordclamp comparingGHC.Internal.Data.Proxy asProxyTypeOfGHC.Internal.Data.STRef modifySTRef modifySTRef'$GHC.Internal.Data.Semigroup.InternalstimesIdempotentstimesIdempotentMonoid stimesMonoidGHC.Internal.Data.Traversable fmapDefaultfoldMapDefaultfor forAccumMforM mapAccumL mapAccumM mapAccumRGHC.Internal.Data.TuplecurryfstsndswapuncurryGHC.Internal.Data.TypeablecastdecTeqT funResultTygcastgcast1gcast2hdecTheqTmkFunTy rnfTypeRep showsTypeRep splitTyConApptypeOftypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7typeRep typeRepArgstypeRepFingerprint typeRepTyCon#GHC.Internal.Data.Typeable.InternalrnfTyCon trLiftedReptyConFingerprint tyConModule tyConName tyConPackageGHC.Internal.Data.Version makeVersion parseVersion showVersionGHC.Internal.Debug.Trace flushEventLog putTraceMsgtrace traceEvent traceEventIOtraceEventWithtraceIOtraceIdtraceM traceMarker traceMarkerIO traceShow traceShowId traceShowM traceShowWith traceStack traceWithGHC.Internal.ErrerrorerrorWithoutStackTrace undefinedGHC.Internal.ExceptionthrowGHC.Internal.Exception.TypeaddExceptionContextsomeExceptionContextGHC.Internal.Exts groupWithsortWithGHC.Internal.Float floatToDigitsfromRat showFloat#GHC.Internal.Foreign.ForeignPtr.ImpmallocForeignPtrArraymallocForeignPtrArray0 newForeignPtrnewForeignPtrEnvGHC.Internal.Foreign.PtrfreeHaskellFunPtr intPtrToPtr ptrToIntPtr ptrToWordPtr wordPtrToPtrGHC.Internal.ForeignPtraddForeignPtrFinalizeraddForeignPtrFinalizerEnvcastForeignPtrfinalizeForeignPtrmallocForeignPtrmallocForeignPtrBytesnewForeignPtr_plusForeignPtrtouchForeignPtrwithForeignPtrGHC.Internal.IO annotateIOcatchevaluategetMaskingState interruptiblemaskmask_stToIOthrowIOuninterruptibleMaskuninterruptibleMask_GHC.Internal.IO.Encodingchar8latin1mkTextEncodingutf16utf16beutf16leutf32utf32beutf32leutf8utf8_bomGHC.Internal.IO.ExceptionallocationLimitExceeded assertErrorasyncExceptionFromExceptionasyncExceptionToExceptionblockedIndefinitelyOnMVarblockedIndefinitelyOnSTMcannotCompactFunctioncannotCompactMutablecannotCompactPinned heapOverflowioError ioException stackOverflowunsupportedOperationuntangle userErrorGHC.Internal.IO.HandlehClose hFileSizehFlush hGetBufferinghGetEcho hGetEncodinghGetPosn hIsClosedhIsEOFhIsOpen hIsReadable hIsSeekablehIsTerminalDevice hIsWritable hLookAheadhSeekhSetBinaryMode hSetBufferinghSetEcho hSetEncoding hSetFileSizehSetNewlineModehSetPosnhShowhTellisEOFGHC.Internal.IO.Handle.TexthGetBufhGetBufNonBlocking hGetBufSomehGetChar hGetContents hGetContents'hGetLinehPutBufhPutBufNonBlockinghPutCharhPutStr hPutStrLn hWaitForInputGHC.Internal.IO.Handle.Types nativeNewlinenativeNewlineModenoNewlineTranslationuniversalNewlineModeGHC.Internal.IO.StdHandlesopenBinaryFileopenFilestderrstdinstdoutwithBinaryFilewithFileGHC.Internal.IO.UnsafeunsafeDupablePerformIOunsafeInterleaveIOunsafePerformIOGHC.Internal.IORefatomicModifyIORef'newIORef readIORef writeIORefGHC.Internal.List!!!?breakcycledrop dropWhilefilterfoldl1'headinititerateiterate'lastlookuprepeat replicatereversescanlscanl'scanl1scanrscanr1spansplitAttailtake takeWhileunconsunsnocunzipunzip3zipzip3zipWithzipWith3GHC.Internal.MVar isEmptyMVar newEmptyMVarnewMVarnewStablePtrPrimMVarputMVarreadMVartakeMVar tryPutMVar tryReadMVar tryTakeMVarGHC.Internal.NaturalminusNaturalMaybeGHC.Internal.NumsubtractGHC.Internal.NumericreadBinreadDec readFloatreadHexreadIntreadOct readSignedshowBin showEFloat showFFloat showFFloatAlt showGFloat showGFloatAlt showHFloatshowHexshowInt showIntAtBaseshowOctGHC.Internal.PtralignPtr castFunPtrcastFunPtrToPtrcastPtrcastPtrToFunPtrminusPtr nullFunPtrnullPtrplusPtrGHC.Internal.Readlex lexDigits lexLitChar readLitChar readParenGHC.Internal.Real%^^^ denominatoreven fromIntegralgcdlcm numeratorodd realToFrac showSignedGHC.Internal.STrunSTGHC.Internal.STRefnewSTRef readSTRef writeSTRefGHC.Internal.Show intToDigitshowChar showLitChar showParen showStringshowsGHC.Internal.StablecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtr newStablePtrGHC.Internal.StableName eqStableNamehashStableNamemakeStableNameGHC.Internal.System.EnvironmentgetArgsgetEnvgetEnvironment getProgName lookupEnvsetEnvunsetEnvwithArgs withProgName.GHC.Internal.System.Environment.ExecutablePathexecutablePathgetExecutablePathGHC.Internal.System.Exitdie exitFailure exitSuccessexitWithGHC.Internal.System.IO appendFilefixIOgetChar getContents getContents'getLinehPrinthReadyinteractlocaleEncodingopenBinaryTempFile(openBinaryTempFileWithDefaultPermissions openTempFile"openTempFileWithDefaultPermissionsprintputCharputStrputStrLnreadFile readFile'readIOreadLn writeFileGHC.Internal.System.IO.ErroralreadyExistsErrorTypealreadyInUseErrorTypeannotateIOError catchIOErrordoesNotExistErrorType eofErrorType fullErrorTypeillegalOperationErrorTypeioeGetErrorStringioeGetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeSetErrorStringioeSetErrorTypeioeSetFileName ioeSetHandleioeSetLocationisAlreadyExistsErrorisAlreadyExistsErrorTypeisAlreadyInUseErrorisAlreadyInUseErrorTypeisDoesNotExistErrorisDoesNotExistErrorType isEOFErrorisEOFErrorType isFullErrorisFullErrorTypeisIllegalOperationisIllegalOperationErrorTypeisPermissionErrorisPermissionErrorTypeisResourceVanishedErrorisResourceVanishedErrorType isUserErrorisUserErrorType mkIOError modifyIOErrorpermissionErrorTyperesourceVanishedErrorType tryIOError userErrorTypeGHC.Internal.System.MemperformBlockingMajorGC performGCperformMajorGCperformMinorGCGHC.Internal.Text.Readread readEither readMaybereadsGHC.Internal.UnicodegeneralCategoryisAlpha isAlphaNumisAscii isAsciiLower isAsciiUpper isControlisDigit isHexDigitisLatin1isLower isLowerCase isOctDigitisPrint isPunctuationisSpaceisSymbolisUpper isUpperCasetoLowertoTitletoUpperGHC.Internal.Unsafe.Coerce unsafeCoerce unsafeCoerce#unsafeCoerceAddrunsafeCoerceUnliftedunsafeEqualityProofGHC.Internal.Word bitReverse16 bitReverse32 bitReverse64 bitReverse8 byteSwap16 byteSwap32 byteSwap64ghc-prim GHC.Classes&&not|| GHC.Magicinline GHC.TuplegetSolohashable-1.5.0.0-9b79c281fa917f650b1b22d9a31d3bf61e2b43d82f8352f583a2bbb2c7b8e6aaData.Hashable.Class defaultHashdefaultHashWithSalt hashByteArrayhashPtr hashUsinghashed hashedHash mapHashedtraverseHashedunhashedData.Hashable.LowLevelhashByteArrayWithSalthashPtrWithSaltlazyGHC.Primcoerceseq WrappedArrow WrapArrow unwrapArrow WrappedMonad WrapMonad unwrapMonadChanQSemQSemNControl.Monad.IO.ClassMonadIOliftIOData.Bifunctor BifunctorbimapfirstsecondComplex:+CentiDeciE0E1E12E2E3E6E9FixedMkFixed HasResolution resolutionMicroMilliNanoPicoUniEq1liftEqEq2liftEq2Ord1 liftCompareOrd2 liftCompare2Read1 liftReadListliftReadListPrec liftReadPrec liftReadsPrecRead2 liftReadList2liftReadListPrec2 liftReadPrec2liftReadsPrec2Show1 liftShowList liftShowsPrecShow2 liftShowList2liftShowsPrec2Data.Functor.ComposeCompose getCompose Comparison getComparison Contravariant>$ contramap EquivalencegetEquivalenceOpgetOp Predicate getPredicateArgArgMaxArgMinFirstgetFirstLastgetLastMaxgetMaxMingetMin WrappedMonoid WrapMonoid unwrapMonoidTimeoutbytestring-0.12.1.0-f8cdData.ByteString.Internal.Type ByteStringcontainers-0.7-7628Data.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Map.InternalMapData.Sequence.InternalSeqData.Set.InternalSet Alternative<|>emptymanysome Applicative*><*<*>liftA2pureFunctor<$fmapMonad>>>>=return MonadPlusmplusmzeroMonoidmappendmconcatmemptyNonEmpty:| Semigroup<>sconcatstimesVoidBits.&..|.bitbitSize bitSizeMaybeclearBit complement complementBitisSignedpopCountrotaterotateLrotateRsetBitshiftshiftLshiftRtestBit unsafeShiftL unsafeShiftRxorzeroBits FiniteBitscountLeadingZeroscountTrailingZeros finiteBitSize HandlerFunSignal BlockReasonBlockedOnBlackHoleBlockedOnExceptionBlockedOnForeignCall BlockedOnMVarBlockedOnOther BlockedOnSTMSTMTVarThreadId ThreadStatus ThreadBlocked ThreadDiedThreadFinished ThreadRunningCategory.idHandlerNestedAtomically NoMethodErrorNonTerminationPatternMatchFail RecConError RecSelError RecUpdError TypeErrorGHC.Internal.Control.Monad.Fail MonadFailfailGHC.Internal.Control.Monad.FixMonadFixmfixAndgetAndIffgetIffIorgetIorXorgetXorConIndexConstr ConstrRep AlgConstr CharConstr FloatConstr IntConstrData dataCast1 dataCast2 dataTypeOfgfoldlgmapMgmapMogmapMpgmapQgmapQigmapQlgmapQrgmapTgunfoldtoConstrDataRepAlgRepCharRepFloatRepIntRepNoRepDataTypeFixityInfixPrefixDynamicEitherLeftRightFoldableelemfoldfoldMapfoldMap'foldlfoldl'foldl1foldrfoldr'foldr1lengthmaximumminimumnullproductsumGHC.Internal.Data.Functor.ConstConstgetConst"GHC.Internal.Data.Functor.IdentityIdentity runIdentityGHC.Internal.Data.MonoidApgetApDowngetDownKProxyProxyAllgetAllAltgetAltAnygetAnyDualgetDualEndoappEndoProduct getProductSumgetSumGHC.Internal.Data.StringIsString fromString TraversablemapMsequence sequenceAtraverseGHC.Internal.Data.Type.Equality:~:Refl:~~:HReflTypeRepTypeableVersion versionBranch versionTagsGHC.Internal.EnumBoundedmaxBoundminBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumpredsucctoEnum ErrorCallErrorCallWithLocationArithExceptionDenormal DivideByZeroLossOfPrecisionOverflowRatioZeroDenominator Underflow ExceptionbacktraceDesireddisplayException fromException toExceptionExceptionWithContext SomeExceptionFloating**acosacoshasinasinhatanatanhcoscoshexpexpm1loglog1mexplog1plog1pexplogBasepisinsinhsqrttantanh RealFloatatan2 decodeFloat encodeFloatexponent floatDigits floatRadix floatRangeisDenormalizedisIEEE isInfiniteisNaNisNegativeZero scaleFloat significandIntPtrWordPtrGHC.Internal.Foreign.StorableStorable alignmentpeek peekByteOff peekElemOffpoke pokeByteOff pokeElemOffsizeOfFinalizerEnvPtr FinalizerPtr ForeignPtrGHC.Internal.Functor.ZipListZipList getZipListGHC.Internal.GenericsGenericGeneric1FilePath MaskingStateMaskedInterruptibleMaskedUninterruptibleUnmaskedGHC.Internal.IO.DeviceSeekMode AbsoluteSeek RelativeSeek SeekFromEndGHC.Internal.IO.Encoding.Types TextEncodingAllocationLimitExceededArrayExceptionIndexOutOfBoundsUndefinedElementAssertionFailedAsyncException HeapOverflow StackOverflow ThreadKilled UserInterruptBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMCompactionFailedDeadlockExitCode ExitFailure ExitSuccessFixIOExceptionIOError IOErrorType AlreadyExistsEOF HardwareFaultIllegalOperationInappropriateType InterruptedInvalidArgument NoSuchThing OtherErrorPermissionDenied ProtocolError ResourceBusyResourceExhaustedResourceVanished SystemError TimeExpiredUnsatisfiedConstraintsUnsupportedOperation UserError IOExceptionioe_description ioe_errno ioe_filename ioe_handle ioe_locationioe_typeSomeAsyncException HandlePosn BufferModeBlockBuffering LineBuffering NoBufferingHandleNewlineCRLFLF NewlineModeinputNLoutputNLGHC.Internal.IO.IOModeIOMode AppendModeReadMode ReadWriteMode WriteModeIORefGHC.Internal.IntInt16Int32Int64Int8GHC.Internal.IsListIsListItemfromList fromListNtoListGHC.Internal.IxIxinRangeindexrange rangeSizeMVarPrimMVarNum*+-abs fromIntegernegatesignumGHC.Internal.OverloadedLabelsIsLabel fromLabelFunPtrPtrReadreadList readListPrecreadPrec readsPrec Fractional/ fromRationalrecipIntegraldivdivModmodquotquotRemrem toIntegerRatioRationalReal toRationalRealFracceilingfloorproperFractionroundtruncateGHC.Internal.RecordsHasFieldgetFieldSTSTRefShowshowshowList showsPrecShowS StablePtr StableName)GHC.Internal.Text.ParserCombinators.ReadPReadSGeneralCategoryClosePunctuationConnectorPunctuationControlCurrencySymbolDashPunctuation DecimalNumber EnclosingMark FinalQuoteFormat InitialQuote LetterNumber LineSeparatorLowercaseLetter MathSymbolModifierLetterModifierSymbolNonSpacingMark NotAssignedOpenPunctuation OtherLetter OtherNumberOtherPunctuation OtherSymbolParagraphSeparator PrivateUseSpaceSpacingCombiningMark SurrogateTitlecaseLetterUppercaseLetterUnsafeEquality UnsafeReflWord16Word32Word64Word8Eq/===Ord<<=>>=comparemaxmin GHC.TypesIOOrderingEQGTLTTyConHashablehash hashWithSaltHashedtext-2.1.1-ac74Data.Text.InternalTextunordered-containers-0.2.20-e1bded65082bd6d2826807991214f3fe52eca785e952b08d43bdac794ed0b44dData.HashMap.InternalHashMapData.HashSet.InternalHashSetvector-0.13.2.0-eb4264f8b28b2dd762af768290ada2ab9ef4be0ee97fd9bb2fdc86831f733372 Data.VectorVector ghc-bignumGHC.Num.IntegerIntegerGHC.Num.NaturalNaturalStringGHC.Internal.MaybeMaybeJustNothing RealWorldSoloBoolFalseTrueChar CoercibleDoubleFloatIntListWord~$fIsSomesupVoid $fIsSomeaa$fIsaa fromByteArrayfromShortByteStringfromUnliftedByteArray toByteArraytoShortByteStringtoUnliftedByteArray