Îõ³h,^÷      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv 0.2.1.0None-Àüd monadic-bangdo let s = pure "outer" let s = pure "inner" in putStrLn !sYou might expect this to print inner, but it would actually print outer , since it would be desugared to Êdo let s = pure "outer" <- s let s = pure "inner" in print ÈWith this function, the plugin will instead throw an error saying that s cannot be used here. If the first sÓ weren't defined, the user would, without this function, get an error saying that sÕ is not in scope, at the call site. Here, we instead throw a more informative error.If only the first s were defined, i.e. &do let s = pure "outer" putStrLn !sit would be valid code.2M`OPSTUdab[_ZcX^QReNWVgfY\]67H8;=<>?B@A:CDEFGIJKL92IJKLHGCEDFNOPQRSTUMVWB@A;?><=XYZ[\]^_`:9867abcdefgNoneùvv÷      !"#$%&'()*+,--.-/0123456789:;<=>?@ABCDEFGHIJKKLKMNOPQQRQSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}þmonadic-bang-0.2.1.0-inplace!MonadicBang.Internal.Effect.Offer#MonadicBang.Internal.Effect.Uniques*MonadicBang.Internal.Effect.Writer.DiscardMonadicBang.Internal.ErrorMonadicBang.Internal.OptionsMonadicBang.Internal.UtilsMonadicBang.Internal MonadicBang monadic-bangOfferC getOfferStateOfferYoinkyoinkrunOffer$fAlgebra:+:OfferC$fFunctorOfferC$fApplicativeOfferC $fMonadOfferCUniquesCgetUniquesStateUniques FreshUnique freshUnique runUniquesIO runUniques$fAlgebra:+:UniquesC$fFunctorUniquesC$fApplicativeUniquesC$fMonadUniquesCDiscardC evalDiscardC evalWriter$fAlgebra:+:DiscardC$fFunctorDiscardC$fApplicativeDiscardC$fMonadDiscardCPsErrorsErrorErrOutOfScopeVariableErrBangOutsideOfDo customError tellPsErrorOptions MkOptionspreserveErrors verbosityPreserveErrorsPreserve Don'tPreserve VerbosityDumpTransformedQuiet parseOptionsTryHandlerDList fromDList??panicBindStmt:<-Fill LocalVars HoleFillsHandleCanFailAstTypeEffectshandle'HandlingMonadTranstoMaybeT HandleFailureInScope MkInScopeinvalidvalidLExprExprLocMkLoccollineExprLoc noneInScopeaddValid addValidsinvalidateVars isInvalidbangLocbangSpan bangSrcLoc spanToLoc replaceBangshandletry fillHolesevactryEvac usualTriesignoreevacPatsaddStmts bindStmtExpr bindStmtSpan fromBindStmtbangVarlocVartellOne tellLocalVar$fMonoidInScope$fSemigroupInScope$fHandlingMonadTransMaybeT$fHandlingMonadTransIdentityT$fHandleFUNStmtLR$fHandleFUNHsExpr$fHandleFUNPat$fHandleFUNHsBindLR$fHandleFUNMatch$fHandleFUNMatchGroup$fHandleFUNGRHSs$fEqLoc$fOrdLoc $fShowLocplugin