diff --git a/Control/Monad/Trans/Class.hs b/Control/Monad/Trans/Class.hs
--- a/Control/Monad/Trans/Class.hs
+++ b/Control/Monad/Trans/Class.hs
@@ -113,7 +113,13 @@
 
 {- $example1
 
-One might define a parsing monad by adding a state (the 'String' remaining
+The first example is a parser monad in the style of
+
+* \"Monadic parsing in Haskell\", by Graham Hutton and Erik Meijer,
+/Journal of Functional Programming/ 8(4):437-444, July 1998
+(<http://www.cs.nott.ac.uk/~pszgmh/bib.html#pearl>).
+
+We can define such a parser monad by adding a state (the 'String' remaining
 to be parsed) to the @[]@ monad, which provides non-determinism:
 
 > import Control.Monad.Trans.State
@@ -189,7 +195,8 @@
 {- $example3
 
 This example is a cut-down version of the one in
-\"Monad Transformers and Modular Interpreters\",
+
+* \"Monad Transformers and Modular Interpreters\",
 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
 
diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
--- a/Control/Monad/Trans/Except.hs
+++ b/Control/Monad/Trans/Except.hs
@@ -15,7 +15,7 @@
 -- Stability   :  experimental
 -- Portability :  portable
 --
--- This monad transformer extends a monad with the ability throw exceptions.
+-- This monad transformer extends a monad with the ability to throw exceptions.
 --
 -- A sequence of actions terminates normally, producing a value,
 -- only if none of the actions in the sequence throws an exception.
@@ -275,9 +275,9 @@
 
 -- | Handle an exception.
 --
--- * @'catchE' h ('lift' m) = 'lift' m@
+-- * @'catchE' ('lift' m) h = 'lift' m@
 --
--- * @'catchE' h ('throwE' e) = h e@
+-- * @'catchE' ('throwE' e) h = h e@
 catchE :: (Monad m) =>
     ExceptT e m a               -- ^ the inner computation
     -> (e -> ExceptT e' m a)    -- ^ a handler for exceptions in the inner
diff --git a/Control/Monad/Trans/List.hs b/Control/Monad/Trans/List.hs
--- a/Control/Monad/Trans/List.hs
+++ b/Control/Monad/Trans/List.hs
@@ -43,6 +43,7 @@
 #if MIN_VERSION_base(4,9,0)
 import qualified Control.Monad.Fail as Fail
 #endif
+import Control.Monad.Fix
 #if MIN_VERSION_base(4,4,0)
 import Control.Monad.Zip (MonadZip(mzipWith))
 #endif
@@ -139,6 +140,12 @@
         b <- runListT n
         return (a ++ b)
     {-# INLINE mplus #-}
+
+instance (MonadFix m) => MonadFix (ListT m) where
+    mfix f = ListT $ mfix (runListT . f . head) >>= \ xs -> case xs of
+        [] -> return []
+        x:_ -> liftM (x:) (runListT (mfix (mapListT (liftM tail) . f)))
+    {-# INLINE mfix #-}
 
 instance MonadTrans ListT where
     lift m = ListT $ do
diff --git a/Control/Monad/Trans/Reader.hs b/Control/Monad/Trans/Reader.hs
--- a/Control/Monad/Trans/Reader.hs
+++ b/Control/Monad/Trans/Reader.hs
@@ -154,6 +154,10 @@
     u <* v = ReaderT $ \ r -> runReaderT u r <* runReaderT v r
     {-# INLINE (<*) #-}
 #endif
+#if MIN_VERSION_base(4,10,0)
+    liftA2 f x y = ReaderT $ \ r -> liftA2 f (runReaderT x r) (runReaderT y r)
+    {-# INLINE liftA2 #-}
+#endif
 
 instance (Alternative m) => Alternative (ReaderT r m) where
     empty   = liftReaderT empty
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,8 @@
 -*-change-log-*-
 
+0.5.5.2 Ross Paterson <R.Paterson@city.ac.uk> Apr 2019
+	* Added MonadFix instance for ListT and backward compatability fixes
+
 0.5.5.1 Ross Paterson <R.Paterson@city.ac.uk> Apr 2019
 	* Added Contravariant instances
 
diff --git a/transformers.cabal b/transformers.cabal
--- a/transformers.cabal
+++ b/transformers.cabal
@@ -1,5 +1,5 @@
 name:         transformers
-version:      0.5.5.1
+version:      0.5.5.2
 license:      BSD3
 license-file: LICENSE
 author:       Andy Gill, Ross Paterson
@@ -9,7 +9,9 @@
 synopsis:     Concrete functor and monad transformers
 description:
     A portable library of functor and monad transformers, inspired by
-    the paper \"Functional Programming with Overloading and Higher-Order
+    the paper
+    .
+    * \"Functional Programming with Overloading and Higher-Order
     Polymorphism\", by Mark P Jones,
     in /Advanced School of Functional Programming/, 1995
     (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
