@@ -240,7 +240,7 @@ instance E.MonadMask (Eff es) where
240240----------------------------------------
241241-- Fail
242242
243−data Fail :: Effect where
243+newtype Fail :: Effect where
244244 Fail :: Unique -> Fail m r
245245
246246runFail :: Eff (Fail : es) a -> Eff es (Either String a)
@@ -261,7 +261,7 @@ instance Fail :> es => MonadFail (Eff es) where
261261
262262--------------------
263263
264−data FailEx = FailEx Unique String
264+data FailEx = FailEx !Unique String
265265instance Show FailEx where
266266 showsPrec p (FailEx _ msg)
267267 = ("Effectful.Internal.Monad.FailEx " ++)
@@ -332,7 +332,7 @@ data UnliftStrategy
332332 -- ^ The fastest strategy and a default setting for 'IOE'. An attempt to call
333333 -- the unlifting function in threads distinct from its creator will result in
334334 -- a runtime error.
335− | ConcUnlift Persistence Limit
335+ | ConcUnlift !Persistence !Limit
336336 -- ^ A strategy that makes it possible for the unlifting function to be called
337337 -- in threads distinct from its creator. See 'Persistence' and 'Limit'
338338 -- settings for more information.
@@ -360,7 +360,7 @@ data Persistence
360360
361361-- | Limit setting for the 'ConcUnlift' strategy.
362362data Limit
363− = Limited Int
363+ = Limited !Int
364364 -- ^ Behavior dependent on the 'Persistence' setting.
365365 --
366366 -- For 'Ephemeral', it limits the amount of uses of the unlifting function in