@@ -46,7 +46,9 @@ import Control.Monad.IO.Class
4646import Control.Monad.Reader
4747import Control.Monad.State
4848import Control.Monad.Trans.Control
49+#if !MIN_VERSION_either(4, 5, 0)
4950import Control.Monad.Trans.Either (EitherT, mapEitherT)
51+#endif
5052import Control.Monad.Trans.Except (ExceptT, mapExceptT)
5153import Control.Monad.Trans.Identity (IdentityT, mapIdentityT)
5254import Control.Monad.Trans.List (ListT, mapListT)
@@ -152,11 +154,13 @@ instance (KatipContext m, Katip (MaybeT m)) => KatipContext (MaybeT m) where
152154 localKatipNamespace = mapMaybeT . localKatipNamespace
153155
154156
157+#if !MIN_VERSION_either(4, 5, 0)
155158instance (KatipContext m, Katip (EitherT e m)) => KatipContext (EitherT e m) where
156159 getKatipContext = lift getKatipContext
157160 localKatipContext = mapEitherT . localKatipContext
158161 getKatipNamespace = lift getKatipNamespace
159162 localKatipNamespace = mapEitherT . localKatipNamespace
163+#endif
160164
161165
162166instance (KatipContext m, Katip (ListT m)) => KatipContext (ListT m) where