Îõ³h$  i   Safe-Inferred%+ÆÙ[  Safe-Inferred%+ÆÙbunfork6Turns an IO action into a fire-and-forget async actionFor example, use ( ) to log to ! in a multi-threaded application.Related functions:Ô does not discard the action result, and it allows polling or waiting for completion% gives the unforked action result as    instead of unfork$Action that needs to be run seriallyunfork%Continuation with the unforked action  Safe-Inferred%+ÆÙòunfork4Turns an IO action into a fire-and-forget STM actionRelated functions: Ô does not discard the action result, and it allows polling or waiting for completion % gives the unforked action result as  instead of unfork$Action that needs to be run seriallyunfork%Continuation with the unforked action Safe-Inferred%+ÆÙ­unfork$The result of an action unforked by ;At first the result will be unavailable, during which time  will block and  will return . When the action completes,  will return its result and  will return .unforkBlock until an action completesunforkReturns  an action's result, or " if the action is not yet complete Safe-Inferred%+ÆÙÞ ! Safe-Inferred%+ÆÙ¥unforkÊUnforks an action, with the new action's asynchronous result available as ( (" result))Related functions:Use Ô if you do not need to know when the action has completed or obtain its result valueUse ) if you do not need the composability of unfork$Action that needs to be run seriallyunfork%Continuation with the unforked action Safe-Inferred%+ÆÙ dunforkÊUnforks an action, with the new action's asynchronous result available as ( ( result))Related functions:Use  Ô if you do not need to know when the action has completed or obtain its result valueUse  " if you need the composability of   unfork$Action that needs to be run seriallyunfork%Continuation with the unforked action Safe-Inferred%+ÆÙ $unfork-Unforks an action by blocking on a mutex lockRelated functions:Use & if you don't need the action's resultConsider instead using =, which uses a queue and a separate thread, to avoid blockingunforkÍUnforks an action by blocking on a mutex lock, discarding the action's resultRelated functions:Use  if you need the action's resultConsider instead using  =, which uses a queue and a separate thread, to avoid blockingunfork$Action that needs to be run seriallyunforkThe unforked actionunfork$Action that needs to be run seriallyunforkThe unforked action Safe-Inferred%+ÆÙ S  #   !"#$%&'() (*+(*,--./(*01$unfork-1.0.0.0-JOSnsJx1WaHAEjcdNOQyOUnforkUnfork.Async.CoreUnfork.Async.FireAndForget.IO System.IOputStrLnstdout unforkAsyncIOunforkAsyncSTM_Control.Monad.STMSTMUnfork.Async.FireAndForget.STMunforkAsyncSTMunforkAsyncIO_Unfork.Async.WithResult.FutureUnfork.Async.WithResult.TaskUnfork.Async.WithResult.STMUnfork.Async.WithResult.IO Unfork.SyncFutureawaitpoll unforkSyncIO unforkSyncIO_StatusGoStopCtxstopperqueueexecuteOneTaskunforkedActionenqueuenextstop checkStopped unforkAsyncghc-prim GHC.TypesIObase GHC.Conc.Sync GHC.MaybeNothingJustTaskarg resultVarMaybe