úÎ s Ë     SafeOTYou can embed a  action within any  that implements  by using the  function/All instances must obey the following two laws: Lusing (return x) = return x using (m >>= f) = using m >>= \x -> using (f x)*A managed resource that you acquire using Build a  valueLike " but for resource-less operations. Acquire a  valueRun a 7 computation, enforcing that no acquired resources leak   SafeOT       !"#"$%$managed-1.0.4-DIxzaLGJTi8BxoNyzf22dwControl.Monad.ManagedControl.Monad.Managed.Safe MonadManagedusingManagedmanagedmanaged_with runManaged$fMonadManagedWriterT$fMonadManagedWriterT0$fMonadManagedStateT$fMonadManagedStateT0$fMonadManagedRWST$fMonadManagedRWST0$fMonadManagedReaderT$fMonadManagedMaybeT$fMonadManagedIdentityT$fMonadManagedExceptT$fMonadManagedContT$fMonadManagedManaged$fFloatingManaged$fFractionalManaged $fNumManaged$fMonoidManaged$fMonadIOManaged$fMonadManaged$fApplicativeManaged$fFunctorManagedbaseGHC.BaseMonad>>-Control.Monad.IO.ClassMonadIOliftIO