úΪ      Safe-Infered MonadTask specifies a task monad m over an event type e. yield7 temporarily suspends current task to let others run. fork7 spawns a task and runs it immediate until it ends or . suspends before returning to current task. watch; suspends current task to wait for future events, and will C resume execution when an event triggers its watching function. signal; broadcasts an event to all other tasks that are watching, 3 and give those who wake up the priority to run. exit( ends all tasks and return immediately. orElse; is a helper function for combining two trigger functions ) disjuctively, favoring the first one.  NoneTask monad transformer. A  Trace m e; represents the control flow of a mult-threaded task monad  defined over a base monad m and event type e. runTraceA runs a trace to its completion in the base monad with a simple  round-robin scheduler.  tasktoTrace< CPS-converts a task monad into a trace in its base monad. runTaskA runs a task monad until to its completion, i.e., no more active $ tasks to run, or until it exits.   =  .           Safe-Infered            !"#monad-task-0.1.0Control.Monad.Task.ClassControl.Monad.Trans.TaskControl.Monad.Task MonadTaskyieldforkwatchsignalexitorElseTaskTrunTaskTTraceSIGNALWATCHFORKYIELDRETEXITrunTrace taskToTracerunTask$fMonadTaskaWriterT$fMonadTaskaWriterT0$fMonadTaskaReaderT$fMonadTaskaMaybeT$fMonadTaskaListT$fMonadTaskaIdentityT$fMonadTaskaErrorT$fMonadTaskeTaskT$fMonadStatesTaskT$fMonadReadersTaskT$fMonadTransTaskT $fMonadTaskT