h&(      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred  Safe-Inferred" versetThe  function outputs a value of any printable type to the standard output device. Printable types are those that are instances of class 1; 2 converts values to strings for output using the  operation and adds a newline.For example, a program to print the first 20 integers and their powers of 2 could be written as: (main = print ([(n, 2^n) | n <- [0..19]])Note!: This function is lifted to the  class.verset1Throw an undefined error. Use only for debugging.versetAn infix form of  with arguments flipped.verset() lifted to an 6. pass = ! ()versetThe  function outputs the trace message given as its first argument, before returning the second argument as its result.'For example, this returns the value of f x but first outputs the message. -trace ("calling f with x = " ++ show x) (f x)The  function should only be used for debugging, or for monitoring execution. The function is not referentially transparent: its type indicates that it is a pure function but it has the side effect of outputting the trace message.versetLike $ but returning unit in an arbitrary 64 context. Allows for convenient use in do-notation.Note that the application of  is not an action in the 6 context, as  is in the  type. While the fresh bindings in the following example will force the + expressions to be reduced every time the do-block is executed, traceM "not crashed" would only be reduced once, and the message would only be printed once. If your monad is in , traceIO may be a better option. ... = do x <- ... traceM $ "x: " ++ show x y <- ... traceM $ "y: " ++ show yversetLike  , but uses $ on the argument to convert it to a .This makes it convenient for printing the values of interesting variables or expressions inside a function. For example here we print the value of the variables x and z: f x y = traceShow (x, z) $ result where z = ... ...versetLike  , but uses $ on the argument to convert it to a . ... = do x <- ... traceShowM $ x y <- ... traceShowM $ x + yversetThe  function outputs the trace message from the IO monad. This sequences the output with respect to other IO actions.versetLike 6 but returns the shown value instead of a third value.versetLike 2 but returns the message instead of a third value.verset8The identity function, returns the give value unchanged.#$ %&' ()*+,-./0123456! "789:;<=SV>?@ABCDEFGHTUIZ\[JKLMNOPXYQWR_^]`abcdefghijknmlqpotsrwvuxzy{|}~k=SVHTUQWPXY>5FGACDEBKMNOL@?+.(' &0/1dc-fe%ji,hgIZ\[$ #wvutsrqponml;<_^]b`a786! "3)}~zy|{x9:2RJ4*14        !"#$%&'()* + , - . / 0 1 23456789 : ;<=>?@6ABCDEF!GHI#J KLMNOPQPR S TUVUWUXUYUZ[\[][^[_`ab`cdefUgUhUijkjljmjnop qUrUseteuUv woxoyUzU{U|}~}}}}}))))))))))))))NNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLoooooooo66666666666666666666666666666666                          %verset-0.0.1.8-1z7AzRW7m1N4xsx2ki2w6jVerset Verset.Convghc-primGHC.PrimseqbaseGHC.Listfilterzip Data.TuplefstsndGHC.Base otherwise$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==>=negate>>=>>fmapControl.Monad.Fixmfix Data.String fromString fromIntegral realToFrac toInteger toRational Control.Monadguard<>memptymappendmconcatjoin<*>pure*>BoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumOrdGHC.ReadReadReal RealFloatRealFracGHC.ShowShowData.Typeable.InternalTypeableMonadFixControl.Monad.Fail MonadFailIsString Applicative Data.FoldableFoldableData.Traversable Traversable GHC.GenericsGenericGeneric1 SemigroupMonoid GHC.TypesBoolCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 ghc-bignumGHC.Num.IntegerIntegerGHC.Num.NaturalNatural GHC.MaybeMaybeOrderingIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherNonEmptyTypeFalseNothingJustTrue:|LeftRightLTEQGTData.Functor.Contravariant contramap>$ Contravariant>$<>$$<$<Data.Functor.ClassesShow2Show1Read2Read1Ord2Ord1Eq2Eq1 Data.VoidVoidData.SemigroupgetMinMingetMaxMaxgetLastLastgetFirstFirstControl.Concurrent forkFinallyData.Bitraversable bitraverse Bitraversable bisequenceAbiforData.Bifoldablebifoldr bifoldMap Bifoldable bitraverse_ bisequenceA_bifor_bifoldr'bifoldl'Data.Bifunctorsecondfirstbimap BifunctorData.List.NonEmptytailsome1scanr1scanl1lastinitheadcycleControl.Monad.IO.ClassliftIOMonadIO zipWithM_zipWithMunless replicateM_ replicateMmfilter mapAndUnzipMforeverfoldM_foldMfilterM>=><=<<$!>traverse sequenceA mapAccumR mapAccumLforControl.Applicative getZipListZipListoptionalData.Functor.Identity runIdentityIdentity GHC.Conc.IO threadDelay GHC.Conc.SyncThreadId myThreadIdforkIOGHC.IOFilePathGHC.Exception.Type ExceptionData.Functor.ConstgetConstConsttoListsumproductnulllengthfoldr'foldrfoldl'foldlfoldMapfoldelem traverse_ sequenceA_ornotElemfor_foldrMfoldlMfind concatMapconcatasumanyandall Data.OldListunfoldr transposetails subsequencessortOnsortBysort permutations isSuffixOf isPrefixOf intersperse intercalateinitsgroupBygroup genericTakegenericSplitAtgenericReplicate genericLength genericIndex genericDrop dropWhileEndData.Semigroup.InternalappEndoEndogetDualDualgetAnyAnygetAltAltgetAllAllData.OrdDown comparing Text.Read readMayberightspartitionEithersleftsisRightisLeft fromRightfromLefteither Data.ProxyProxyControl.Category.Category>>><<< significand scaleFloatisNegativeZeroisNaN isInfiniteisIEEEisDenormalized floatRange floatRadix floatDigitsexponent encodeFloat decodeFloatatan2tanhtansqrtsinhsinpilogBaselogexpcoshcosatanhatanasinhasinacoshacos**GHC.BitstoIntegralSizedtruncateroundproperFractionfloorceilingremquotRemquotmoddivModdivrecip/oddeven^^^fromEnumminBoundmaxBoundzipWith3zipWithzip3unzip3unzip takeWhiletakesplitAtspanscanrscanlreverse replicaterepeatlookupiterate'iterate dropWhiledropbreak Data.MaybemaybemapMaybe isNothingisJust fromMaybe catMaybes Data.Boolbool Data.Functiononfix& Data.Functorvoid<&><$>$>uncurryswapcurrysignumabs+*subtractstimessconcat<$liftA2<*manyempty<|> AlternativewhenliftM5liftM4liftM3liftM2liftMliftA3flipconstap=<<<**>$!GHC.Stack.Types HasCallStack SomeException&&not||/=<<=>comparemaxminbytestring-0.11.3.1Data.ByteString.Internal ByteString'containers-0.6.6-FcaZf6fx0xTB4RI0upGEsxData.Map.InternalMapData.Set.InternalSet#extra-1.7.12-JCaTA4ia5FMAlVGajQGEUFControl.Monad.ExtraandMorMallManyM&&^||^ifMunlessMwhenM concatMapMData.Either.Extra eitherToMaybe maybeToEitherData.List.ExtranubOrdBynubOrdOnnubOrdsplitsplitOn breakOnEndbreakOnspanEnd groupSortBy groupSortOn groupSortgroupOn takeWhileEnddropEndtakeEndtransformers-0.5.6.2Control.Monad.Trans.Classlift MonadTrans"safe-0.3.19-9VkUEL0rOu1CVzIClXyGwHSafepredDefpredMaysuccDefsuccMay toEnumDef toEnumMaycycleDefcycleMaylastDefheadDeflastMayheadMayinitDefinitMaytailDeftailMay Safe.FoldableminimumBoundedmaximumBounded minimumBound maximumBoundminimumBoundBymaximumBoundBy maximumByMay minimumByMay maximumMay minimumMay foldr1May foldl1May!text-2.0.1-D0sZxzACxIlD1cnhKXQYpMData.Text.InternalText!time-1.12.2-vpz2DZPH06FIloimFhuSy&Data.Time.LocalTime.Internal.LocalTime LocalTime Data.Time.Clock.Internal.UTCTimeUTCTime(Data.Time.Clock.Internal.NominalDiffTimeNominalDiffTime'uuid-types-1.0.5-IT4FwONTwRhFWfijUsBCwrData.UUID.Types.InternalUUID StringConvstrConvLeniencyLenientStricttoStoSL$fStringConvTextByteString$fStringConvTextByteString0$fStringConvTextText$fStringConvTextText0$fStringConvText[]$fStringConvTextText1$fStringConvTextText2$fStringConvTextByteString1$fStringConvTextByteString2$fStringConvText[]0$fStringConvByteStringText$fStringConvByteStringText0 $fStringConvByteStringByteString!$fStringConvByteStringByteString0$fStringConvByteString[]$fStringConvByteStringText1$fStringConvByteStringText2!$fStringConvByteStringByteString1!$fStringConvByteStringByteString2$fStringConvByteString[]0$fStringConv[]Text$fStringConv[]Text0$fStringConv[]ByteString$fStringConv[]ByteString0$fStringConv[][] $fEqLeniency$fShowLeniency $fOrdLeniency$fEnumLeniency$fBoundedLeniencyPrinthPutStrputStr hPutStrLnputStrLnputErrLnprint undefined?:passtracetraceM traceShow traceShowMtraceIO traceShowIdtraceIdidentity<<$>>putTextputLText putByteStringputLByteString putErrTextshowordNubatMay $fPrint[]$fPrintByteString$fPrintByteString0 $fPrintText $fPrintText0String