diff --git a/Homplexity.hs b/Homplexity.hs
--- a/Homplexity.hs
+++ b/Homplexity.hs
@@ -11,7 +11,9 @@
 -- | Main module parsing inputs, and running analysis.
 module Main (main) where
 
+import Data.Functor
 import Data.List
+import Data.Monoid
 
 import Language.Haskell.Exts.Syntax
 import Language.Haskell.Homplexity.Assessment
@@ -80,7 +82,7 @@
                                                          return True
 
 -- | Commonly defined function - should be added to base...
-concatMapM  :: (Monad m) => (a -> m [b]) -> [a] -> m [b]
+concatMapM  :: (Functor m, Monad m) => (a -> m [b]) -> [a] -> m [b]
 concatMapM f = fmap concat . mapM f
 
 -- | This flag exists only to make sure that HFLags work.
diff --git a/Language/Haskell/Homplexity/Assessment.hs b/Language/Haskell/Homplexity/Assessment.hs
--- a/Language/Haskell/Homplexity/Assessment.hs
+++ b/Language/Haskell/Homplexity/Assessment.hs
@@ -14,6 +14,7 @@
   , measureAllOccurs) where
 
 import Data.Data
+import Data.Monoid
 
 import Language.Haskell.Homplexity.CodeFragment
 import Language.Haskell.Homplexity.Cyclomatic
diff --git a/Language/Haskell/Homplexity/CodeFragment.hs b/Language/Haskell/Homplexity/CodeFragment.hs
--- a/Language/Haskell/Homplexity/CodeFragment.hs
+++ b/Language/Haskell/Homplexity/CodeFragment.hs
@@ -29,14 +29,12 @@
   ) where
 
 import Data.Data
+import Data.Functor
 import Data.Generics.Uniplate.Data
 import Data.List
 import Data.Maybe
---import Control.Arrow
---import Control.Exception
 import Language.Haskell.Exts.Syntax
 import Language.Haskell.Exts.SrcLoc
---import Language.Haskell.Exts
 import Language.Haskell.Homplexity.SrcSlice
 
 -- | Program
diff --git a/Language/Haskell/Homplexity/Message.hs b/Language/Haskell/Homplexity/Message.hs
--- a/Language/Haskell/Homplexity/Message.hs
+++ b/Language/Haskell/Homplexity/Message.hs
@@ -18,9 +18,9 @@
 import Control.Arrow
 import Control.DeepSeq
 import Data.Function                                        (on)
-import Data.Sequence                            as Seq
 import Data.Foldable                            as Foldable
---import Language.Haskell.Homplexity.CodeFragment
+import Data.Monoid
+import Data.Sequence                            as Seq
 import Language.Haskell.Exts
 import Language.Haskell.TH.Syntax                           (Lift(..))
 import HFlags
diff --git a/Language/Haskell/Homplexity/Metric.hs b/Language/Haskell/Homplexity/Metric.hs
--- a/Language/Haskell/Homplexity/Metric.hs
+++ b/Language/Haskell/Homplexity/Metric.hs
@@ -12,6 +12,7 @@
 
 import Data.Data
 import Data.Function
+import Data.Functor
 import Data.Generics.Uniplate.Data
 import Data.List
 import Control.Arrow
diff --git a/Language/Haskell/Homplexity/Parse.hs b/Language/Haskell/Homplexity/Parse.hs
--- a/Language/Haskell/Homplexity/Parse.hs
+++ b/Language/Haskell/Homplexity/Parse.hs
@@ -7,6 +7,7 @@
 module Language.Haskell.Homplexity.Parse (parseSource) where
 
 import Control.Exception as E
+import Data.Functor
 
 import Language.Haskell.Exts.Syntax
 import Language.Haskell.Exts.SrcLoc
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,10 @@
 Changelog
 =========
-    0.4.0.0  Jun 2015
+    0.4.2.0  Jun 2015
+
+        * Compatible with GHC 7.8.
+
+    0.4.1.0  Jun 2015
 
         * Corrected embarassing missing module.
         * Better documentation, cleanup.
diff --git a/homplexity.cabal b/homplexity.cabal
--- a/homplexity.cabal
+++ b/homplexity.cabal
@@ -1,5 +1,5 @@
 name:                homplexity
-version:             0.4.1.0
+version:             0.4.2.0
 synopsis:            Haskell code quality tool
 description:         Homplexity aims to measure code complexity,
                      warning about fragments that might have higher defect probability
