h,t5      !"#$%&'()*+,-./012340.2.0.0None-01: scoped-codensitythe  class is there to give overloading to blocks, s.t. we don't have to run different functions depending on whether we run a final block or not.This type class is internal since there should not be any more instances and since it is expected that the contraint on  is immediately dischargedscoped-codensityRun a   block safely, making sure that none of the safely allocated resources can escape it, using the same trick as All of the allocated resources will live until the end of the block is reachedscoped-codensitywhen using a resource, all that matters is that the resource can only be used in the scope that it was created in or any scope that is farther in than that scopeThis constraint has to be put to connect the resource and the scope that it was created inscoped-codensityA scoped resource with token s belonging to a   block with the same token.If you are creating a ;, make sure the resource is deallocated properly when the   block is exited. Unsafely runs a scoped resource. It forgets the scope of the resource and may now be escaped incorrectly scoped-codensityThe   monad that provides the possibility to safely scope the allocation of a resourceIt is used to abstract over all of the CPS style withSomething functions, like  3Be sure to properly mask handlers if you are using  ". Use safe helper functions like  or  where possible.Scoped also works for wrapping unboxed and unlifted monad transformers. "Unsafely runs a scoped block. Use * instead, otherwise resources might escapescoped-codensity2Run a handler masked for async exception when the   block ends,You can register a handler wherever in your   block you want, but it will nonetheless be run in reverse order that the handlers have been registered, after the scoped block's actions have been finishedMind that this uses   under the hood and thus does not mask the handler with an uninterruptible maskscoped-codensityA wrapper around  $ to allocate a resource safely in a   block It returns a  that belongs to the   block it was allocated inNote that this uses   internally and thus uses an interruptible mask for the cleanup continuationscoped-codensityYou can use all the actions you can use in the underlying monad m also in the   monad by 5 ing into it.scoped-codensityYou can 6 in a Scoped blockscoped-codensityYou can perform 7 in a scoped block, but it does not inherit its safety guaranteesscoped-codensityscoped-codensityscoped-codensityscoped-codensityscoped-codensitythe handler to be registered,an action that allocates a resource of type a.an action that deallocates a resource of type a     None-01: scoped-codensity Just like  but bound to a   block!scoped-codensityGiven a 8%, safely allocates and deallocates a   in a   block"scoped-codensityLike  but for  #scoped-codensityLike  but for  $scoped-codensityLike  but for  %scoped-codensityLike  but for  !%$#" !"#$%None-01:&scoped-codensity Just like 9 but bound to a   block'scoped-codensityRun an 73 action asynchronously in a Scoped block. When the   block ends, the 9 is led(scoped-codensityLike ' but uses  internally)scoped-codensity Wait for the & to finish immediately*scoped-codensityLike ) but return either : ; or < a+scoped-codensityLike )) but wait as part of the handlers of the   block,scoped-codensityLike *) but wait as part of the handlers of the   block'()*,+&&'()*+,None-01:*-scoped-codensityA  that is associated to a scope.scoped-codensityAcquire mutable memory for the duration of a scope. The value is automatically dropped at the end of the scope./scoped-codensitywrite a value to a pointer0scoped-codensityread a value from a pointer1scoped-codensitythis is a wrapper around 4 to allow for safe usage of this function in a scope2scoped-codensity,takes a function that does something with a  and makes it safe10./2--12./0None-01:3scoped-codensityLike   but for  4scoped-codensityLike   but for  4334None-01:1'()*,+!%$#"10./243&  - -12./0&'()*+, !"#$%34= !"#$%&'())*+,,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_\` scoped-codensity-0.2.0.0-inplaceControl.Monad.Scoped.HandleControl.Monad.Scoped.InternalControl.Monad.Scoped.AsyncControl.Monad.Scoped.PtrControl.Monad.Scoped.Tempscoped-codensityControl.Monad.STST System.IOwithFileControl.ExceptionfinallybracketIOHandle hPutStrLnhPutStrhGetLine hGetContentsControl.Concurrent.AsynccancelControl.ConcurrentforkOSForeignPtrwithForeignPtr withTempFilewithSystemTempFileControl.Monad.Scoped ghc-internalGHC.Internal.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeScopingscoped:<ScopedResourceUnsafeMkScopedResourceunsafeUnwrapScopedResourceScopedUnsafeMkScopedunsafeRunScopedregisterHandler bracketScoped$fMonadTransScoped$fMonadFailScoped$fMonadIOScoped$fMonadPlusScoped $fMonadScoped$fAlternativeScoped$fApplicativeScoped$fFunctorScoped$f: