'7      !"#$%&'()*+,-./0123456  Safe-Inferred Safe-Inferred4  !"#$%&'()*789:;<=>?@ABC)  !"#$%&'()*)   !"#$%&'()*-   !"#$%&'()*789:;<=>?@ABC Safe-Inferred+AA wrapper type that can be used to embed an arbitrary restricted  monad as a normal monad. >Note that in general there can be an efficiency loss in using  +< where the underlying restricted monad could have been used ! instead. For example when using Set with +, intermediate results G will not have duplicates removed. On the other hand, it becomes legal . to use intermediate results that do not have D instances. ,,Turn a restricted monad into a normal monad - Unwrap an +* value into the enclosed restricted monad +EFGHIJK,-LMN+,-+,-+KJIHGFE,-LMN Safe-InferredOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrDstuvwxyz{|}~      !"#$%&'()*+,-.  !%& Safe-Inferred.//0123./././/0123 Safe-Inferred012340123230101234 Safe-Inferred45656789456:45645656789 Safe-Inferred;<=>?@;<=>?  Safe-InferredABCDEABCD  Safe-InferredFGHIJFGHIK  !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ _` ab _cRde fg fh fi jk lm ln _o _p _q rs rt uv wx wy wz w{RS|RS} r~ u u u u w wRS  u u _ _ r  u  u RRRRRR uR  _RR  RRR j j j j j j j j j j j j    u u u u u u u u u u u u u u u u u u u a w w w w w w         f f f f f f f f f f f f f f! f" f# f$ f% f& f' f( f) f* f+ f, f- f. f/ f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 :; :< := :> l? l@ rA rB rC rD rE _F _G _H _I _J _KRSLRSMRSNRSORSPRSQRSRRSSRSTRSUVWXYZ[\]^_`abcdefg h i j k l m n o p qr rmonad-0.8Control.RMonad.FixControl.RMonadControl.IfThenElseControl.RMonad.AsMonadControl.RMonad.TransControl.RMonad.Trans.SetControl.RMonad.PreludeControl.RMonad.Trans.ListControl.RMonad.Trans.ReaderControl.RMonad.Trans.Contbase Data.Functionfixsuitable-0.1.1 Data.Suitable constraintsSuitable ifThenElse RMonadPlusmzeromplusRMonadreturn>>=>>failRFunctorfmap<=<=<<>=>apfilterMfoldMfoldM_forMforM_foreverguardjoinliftMliftM2liftM3liftM4liftM5 mapAndUnzipMmapMmapM_msum replicateM replicateM_sequence sequence_unlesswhenzipWithM zipWithM_AsMonadembedunEmbed RMonadFixmfixRMonadIOliftIO RMonadTransliftSetTrunSetT$fRMonadPlusSet $fRMonadSet $fRFunctorSet $fRMonadIO $fRFunctorIO$fRMonadPlus[] $fRMonad[] $fRFunctor[]$fRMonadPlusMaybe $fRMonadMaybe$fRFunctorMaybe $fRMonad(->)$fRFunctor(->)ghc-prim GHC.ClassesOrdMPlusMZeroFailBindReturnFMapEmbed$fMonadPlusAsMonad$fMonadAsMonad$fFunctorAsMonadGHC.Base++GHC.ErrerrorfoldrGHC.PrimseqGHC.Listconcatfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$GHC.Num fromInteger-GHC.Real fromRationalGHC.EnumenumFrom enumFromThen enumFromToenumFromThenTo==>=negate fromIntegral realToFrac toInteger toRationalBoundedEnumEq GHC.FloatFloating FractionalIntegralMonadFunctorNumGHC.ReadReadReal RealFloatRealFracGHC.ShowShow GHC.TypesBoolCharDoubleFloatInt integer-gmpGHC.Integer.TypeIntegerOrderingRationalIO Data.EitherEitherStringFalseTrueLeftRightLTEQGTPrelude$!readIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.ExceptionioError Text.Readreadreadseither Data.Listunwordswordsunlineslinesproductsumfoldl1minimummaximumlex readParenreadList readsPrecText.ParserCombinators.ReadPReadSacoshatanhasinhcoshtanhsinhacosatanasincostansinlogBase**logsqrtexppiatan2isIEEEisNegativeZeroisDenormalized isInfiniteisNaN scaleFloat significandexponent encodeFloat decodeFloat floatRange floatDigits floatRadixGHC.IOFilePath userErrorIOErrorlcmgcd^^^oddevendivModquotRemmoddivremquotrecip/floorceilingroundtruncateproperFraction undefinedmaxBoundminBoundfromEnumtoEnumpredsucc showParen showStringshowCharshowsShowSshowListshow showsPrecunzip3unzipzipWith3zipWithzip3!! concatMaplookupnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailhead Data.MaybemaybeNothingJustMaybeuncurrycurrysubtractsignumabs*+asTypeOfuntilflip.constid/=compare<=&&||not<>maxmin$fRMonadFixSet$fRMonadFix(->) $fRMonadFixIO $fRMonadFix[]$fRMonadFixMaybe $fRMonadIOIO$fRMonadIOSetT$fRMonadTransSetT$fRMonadPlusSetT $fRMonadSetT$fSuitableSetTaSetTConstraints$fRMonadIOListT$fRMonadTransListT$fRMonadPlusListT $fRMonadListT$fSuitableListTaListTConstraints$fRMonadIOReaderT$fRMonadTransReaderT$fRMonadReaderT$fSuitableReaderTaReaderTConstraints$fRMonadIOContT$fRMonadTransContT $fRMonadContT$fSuitableContTaContTConstraints