Îõ³h)˜>ø      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw 0.1.0.0 Safe-Inferred-?ûp 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.2789:;<@?=>ABCDGFEHIJLMKNOPQRSTUVWXYZ[\]^_`abcdefgh2JLMKIHDGFEOPQRSTUVNWXCAB<@?=>YZ[\]^_`a;:978bcdefgh Safe-Inferred8wwø      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÿmonadic-bang-0.1.0.0-inplaceMonadicBang.Effect.OfferMonadicBang.Effect.Uniques!MonadicBang.Effect.Writer.DiscardMonadicBang.ErrorMonadicBang.OptionsMonadicBang.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 MkOptions verbositypreserveErrorsPreserveErrorsPreserve Don'tPreserve VerbosityDumpTransformedQuiet parseOptionsTryHandlerDList fromDList?? hoistMaybepanicBindStmt:<-Fill LocalVars HoleFillsHandleCanFailAstTypeEffectshandle'HandlingMonadTranstoMaybeT HandleFailureInScope MkInScope$sel:valid:MkInScope$sel:invalid:MkInScopeLExprExprLocMkLoc$sel:line:MkLoc$sel:col:MkLocExprLoc 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