@@ -160,24 +160,30 @@ execEffect e0 (Eff m) = unsafeEff $ \es0 -> do
160160
161161getEffect :: e :> es => Eff es (i e)
162162getEffect = unsafeEff $ \es -> getEnv es
163+{-# INLINE getEffect #-}
163164
164165putEffect :: e :> es => i e -> Eff es ()
165166putEffect e = unsafeEff $ \es -> unsafePutEnv e es
167+{-# INLINE putEffect #-}
166168
167169stateEffect :: e :> es => (i e -> (a, i e)) -> Eff es a
168170stateEffect f = unsafeEff $ \es -> unsafeStateEnv f es
171+{-# INLINE stateEffect #-}
169172
170173localEffect :: e :> es => (i e -> i e) -> Eff es a -> Eff es a
171174localEffect f (Eff m) = unsafeEff $ \es -> do
172175 bracket (unsafeStateEnv (\e -> (e, f e)) es)
173176 (\e -> unsafePutEnv e es)
174177 (\_ -> m es)
178+{-# INLINE localEffect #-}
175179
176180readerEffectM :: e :> es => (i e -> Eff es a) -> Eff es a
177181readerEffectM f = unsafeEff $ \es -> getEnv es >>= \e -> unEff (f e) es
182+{-# INLINE readerEffectM #-}
178183
179184stateEffectM :: e :> es => (i e -> Eff es (a, i e)) -> Eff es a
180185stateEffectM f = unsafeEff $ \es -> do
181186 (a, e) <- (\e -> unEff (f e) es) =<< getEnv es
182187 unsafePutEnv e es
183188 pure a
189+{-# INLINE stateEffectM #-}