diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+0.5.1.4
+-------
+* GHC 7.7 and 7.2 compatibility
+
 0.5.1.3
 -------
 * Clean up MonadFork instances
diff --git a/concurrent-state.cabal b/concurrent-state.cabal
--- a/concurrent-state.cabal
+++ b/concurrent-state.cabal
@@ -1,5 +1,5 @@
 name:                concurrent-state
-version:             0.5.1.3
+version:             0.5.1.4
 synopsis:            MTL-like library using TVars
 description:         State, RWS backed by TVar.
 homepage:            https://github.com/joelteon/concurrent-state
@@ -25,13 +25,17 @@
                        Control.Monad.RWS.Concurrent
                        Control.Monad.RWS.Concurrent.Lazy
                        Control.Monad.RWS.Concurrent.Strict
-  build-depends:       base >=4.4 && <4.7, exceptions >= 0.3, mtl >= 2.1, stm, transformers
+  build-depends:       base         >= 4.2 && < 4.8
+                     , exceptions   >= 0.3
+                     , mtl          >= 2.1
+                     , stm
+                     , transformers
   hs-source-dirs:      src
   default-language:    Haskell2010
   ghc-options:         -Wall
 
 source-repository head
-  type: git
+  type:     git
   location: https://github.com/joelteon/concurrent-state.git
 
 executable chat-server
@@ -41,6 +45,9 @@
   ghc-options:      -Wall -threaded
 
   if flag(examples)
-    build-depends:  base, concurrent-state, network, stm
+    build-depends:  base
+                  , concurrent-state
+                  , network
+                  , stm
   else
-    buildable: False
+    buildable:      False
diff --git a/src/Control/Concurrent/Lifted/Fork.hs b/src/Control/Concurrent/Lifted/Fork.hs
--- a/src/Control/Concurrent/Lifted/Fork.hs
+++ b/src/Control/Concurrent/Lifted/Fork.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE ImpredicativeTypes #-}
 
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Monad/RWS/Concurrent/Lazy.hs b/src/Control/Monad/RWS/Concurrent/Lazy.hs
--- a/src/Control/Monad/RWS/Concurrent/Lazy.hs
+++ b/src/Control/Monad/RWS/Concurrent/Lazy.hs
@@ -35,6 +35,11 @@
 import Prelude hiding (catch)
 #endif
 
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 702
+(<>) :: Monoid a => a -> a -> a
+(<>) = mappend
+#endif
+
 -- ---------------------------------------------------------------------------
 -- | A concurrent monad transformer reading an environment of type @r@,
 -- collecting output of type @w@ and updating a state of type @s@ to an
diff --git a/src/Control/Monad/RWS/Concurrent/Strict.hs b/src/Control/Monad/RWS/Concurrent/Strict.hs
--- a/src/Control/Monad/RWS/Concurrent/Strict.hs
+++ b/src/Control/Monad/RWS/Concurrent/Strict.hs
@@ -35,6 +35,11 @@
 import Prelude hiding (catch)
 #endif
 
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 702
+(<>) :: Monoid a => a -> a -> a
+(<>) = mappend
+#endif
+
 -- ---------------------------------------------------------------------------
 -- | A concurrent monad transformer reading an environment of type @r@,
 -- collecting output of type @w@ and updating a state of type @s@ to an
