Îõ³h&á;       Safe-Inferred×ÜçmanagedYou can embed a  action within any   that implements  by using the  function/All instances must obey the following two laws: Ìusing (return x) = return x using (m >>= f) = using m >>= \x -> using (f x)managed*A managed resource that you acquire using managedBuild a  valuemanagedLike " but for resource-less operations.managed(Defer running an action until exit (via  ).ÉFor example, the following code will print "Hello" followed by "Goodbye": ÑrunManaged $ do defer $ liftIO $ putStrLn "Goodbye" liftIO $ putStrLn "Hello"managed Acquire a  valueöThis is a potentially unsafe function since it allows a resource to escape its scope. For example, you might use 0 to safely acquire a file handle, like this: ñimport qualified System.IO as IO example :: Managed Handle example = managed (IO.withFile "foo.txt" IO.ReadMode)... and if you never used the Á function then you would never run the risk of accessing the Handle5 after the file was closed. However, if you use Ö then you can incorrectly access the handle after the handle is closed, like this: …bad :: IO () bad = do handle <- with example return IO.hPutStrLn handle "bar" -- This will fail because the handle is closed... so only use æ if you know what you are doing and you're returning a value that is not a resource being managed. managedRun a 7 computation, enforcing that no acquired resources leak    Safe-Inferred×Ü%   !      !"#$%&'%managed-1.0.10-7IlAKnu62NTFpSznLMhLJiControl.Monad.ManagedControl.Monad.Managed.SafebaseControl.Monad.IO.ClassliftIOMonadIO MonadManagedusingManagedmanagedmanaged_deferwith runManaged$fFloatingManaged$fFractionalManaged $fNumManaged$fMonoidManaged$fSemigroupManaged$fMonadFailManaged$fMonadIOManaged$fMonadManaged$fApplicativeManaged$fFunctorManaged$fMonadManagedWriterT$fMonadManagedWriterT0$fMonadManagedStateT$fMonadManagedStateT0$fMonadManagedRWST$fMonadManagedRWST0$fMonadManagedReaderT$fMonadManagedMaybeT$fMonadManagedIdentityT$fMonadManagedExceptT$fMonadManagedContT$fMonadManagedManagedGHC.BaseMonad