@@ -129,14 +129,14 @@ localUnliftIO (LocalEnv les) strategy k = case strategy of
129129-- /Note:/ the operation must not run its argument in a separate thread,
130130-- attempting to do so will result in a runtime error.
131131withLiftMap
132− :: (HasCallStack, IOE :> es)
132+ :: HasCallStack
133133 => ((forall a b localEs. (Eff es a -> Eff es b) -> Eff localEs a -> Eff localEs b) -> Eff es r)
134134 -- ^ Continuation with the lifting function in scope.
135135 -> Eff es r
136136withLiftMap k = unsafeEff $ \es -> do
137137 (`unEff` es) $ k $ \mapEff m -> unsafeEff $ \localEs -> do
138138 seqUnliftEff localEs $ \unlift -> do
139− (`unEff` es) . mapEff . liftIO $ unlift m
139+ (`unEff` es) . mapEff . unsafeEff_ $ unlift m
140140
141141-- | Utility for lifting 'IO' operations of type
142142--
@@ -182,7 +182,7 @@ withLiftMapIO k = k $ \mapIO m -> unsafeEff $ \es -> do
182182-- /Note:/ depending on the operation you're lifting 'localUnlift' along with
183183-- 'withLiftMap' might be enough and is more efficient.
184184localLiftUnlift
185− :: (HasCallStack, IOE :> es)
185+ :: HasCallStack
186186 => LocalEnv localEs
187187 -- ^ Local environment.
188188 -> UnliftStrategy
@@ -193,11 +193,11 @@ localLiftUnlift (LocalEnv les) strategy k = case strategy of
193193 SeqUnlift -> unsafeEff $ \es -> do
194194 seqUnliftEff es $ \unliftEs -> do
195195 seqUnliftEff les $ \unliftLocalEs -> do
196− (`unEff` es) $ k (unsafeEff_ . unliftEs) (liftIO . unliftLocalEs)
196+ (`unEff` es) $ k (unsafeEff_ . unliftEs) (unsafeEff_ . unliftLocalEs)
197197 ConcUnlift p l -> unsafeEff $ \es -> do
198198 concUnliftEff es p l $ \unliftEs -> do
199199 concUnliftEff les p l $ \unliftLocalEs -> do
200− (`unEff` es) $ k (unsafeEff_ . unliftEs) (liftIO . unliftLocalEs)
200+ (`unEff` es) $ k (unsafeEff_ . unliftEs) (unsafeEff_ . unliftLocalEs)
201201
202202-- | Create a local unlifting function with the given strategy along with an
203203-- unrestricted lifting function.