diff --git a/ffunctor.cabal b/ffunctor.cabal
--- a/ffunctor.cabal
+++ b/ffunctor.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                ffunctor
-version:             1.1.99
+version:             1.1.100
 synopsis:            FFunctor typeclass
 license:             BSD-3-Clause
 license-file:        LICENSE
@@ -11,12 +11,13 @@
 tested-with:         GHC ^>= 8.4.4 || ^>= 8.6.3
 category:            Constraints
 description:
-  Micro library with a Higher kinded Functor in the spirit of HFunctor,
-  MFunctor and MonadTrans.
+  Micro library with a Higher Kinded Functor in the spirit of HFunctor,
+  MFunctor and MonadTrans (which all have different kindedness).
   .
   Useful to map over the type parameter in a record of
   functions, e.g. https://www.benjamin.pizza/posts/2017-12-15-functor-functors.html
   and https://discourse.haskell.org/t/local-capabilities-with-mtl/231
+  and https://discourse.haskell.org/t/some-limits-of-mtl-with-records-of-functions/576
 
 source-repository head
   type: git
diff --git a/library/Data/FFunctor.hs b/library/Data/FFunctor.hs
--- a/library/Data/FFunctor.hs
+++ b/library/Data/FFunctor.hs
@@ -8,10 +8,15 @@
 #ifdef HAVE_TRANSFORMERS
 import           Control.Monad.Trans.Class (MonadTrans, lift)
 #endif
+import           Control.Monad.IO.Class    (MonadIO, liftIO)
 
 class FFunctor (f :: (* -> *) -> *) where
 --ffmap :: (Functor m, Functor n) => (m ~> n) -> f m -> f n
   ffmap :: (Functor m, Functor n) => (forall a . (m a -> n a)) -> f m -> f n
+
+-- | Lifts an IO impl of a record of functions into a more general MonadIO impl
+luftIO :: FFunctor f => MonadIO m => f IO -> f m
+luftIO = ffmap liftIO
 
 #ifdef HAVE_TRANSFORMERS
 -- | Lifts a record of functions (that has an FFunctor) into a monad transformer.
