diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+# 0.4.1
+* Compatibility release to get cron building with GHC < 7.10 again.
 # 0.4.0
 * Various type changes to make it impossible to construct invalid cron schedules.
 * Add nextMatch function for non-polling based schedulers.
diff --git a/cron.cabal b/cron.cabal
--- a/cron.cabal
+++ b/cron.cabal
@@ -1,5 +1,5 @@
 Name:                cron
-Version:             0.4.0
+Version:             0.4.1
 Description:
   Cron data structure and Attoparsec parser. The idea is to embed it in larger
   systems which want to roll their own scheduled tasks in a format that people
diff --git a/src/System/Cron/Internal/Check.hs b/src/System/Cron/Internal/Check.hs
--- a/src/System/Cron/Internal/Check.hs
+++ b/src/System/Cron/Internal/Check.hs
@@ -2,6 +2,7 @@
 module System.Cron.Internal.Check where
 
 -------------------------------------------------------------------------------
+import           Control.Applicative         as A
 import qualified Data.Foldable               as FT
 import           Data.List
 import           Data.List.NonEmpty          (NonEmpty (..))
@@ -66,7 +67,7 @@
 
 -------------------------------------------------------------------------------
 dowMatch :: UTCTime -> EField -> Bool
-dowMatch (UTCTime d _) dows = (getDOW d `elem` dows)
+dowMatch (UTCTime d _) dows = (getDOW d `FT.elem` dows)
 
 
 -------------------------------------------------------------------------------
@@ -99,7 +100,7 @@
 -- no empties). dow 7 will be normalized to 0 (Sunday)
 expand :: CronSchedule -> Maybe Expanded
 expand CronSchedule {..} = do
-  expanded <- Expanded <$> minF'
+  expanded <- Expanded A.<$> minF'
                        <*> hourF'
                        <*> domF'
                        <*> monthF'
@@ -195,18 +196,18 @@
     -- ^ Month
     -> EField
     -> Bool
-hasValidForMonth 1 days  = minimum days <= 31
-hasValidForMonth 2 days  = minimum days <= 29
-hasValidForMonth 3 days  = minimum days <= 31
-hasValidForMonth 4 days  = minimum days <= 30
-hasValidForMonth 5 days  = minimum days <= 31
-hasValidForMonth 6 days  = minimum days <= 30
-hasValidForMonth 7 days  = minimum days <= 31
-hasValidForMonth 8 days  = minimum days <= 31
-hasValidForMonth 9 days  = minimum days <= 30
-hasValidForMonth 10 days = minimum days <= 31
-hasValidForMonth 11 days = minimum days <= 30
-hasValidForMonth 12 days = minimum days <= 31
+hasValidForMonth 1 days  = FT.minimum days <= 31
+hasValidForMonth 2 days  = FT.minimum days <= 29
+hasValidForMonth 3 days  = FT.minimum days <= 31
+hasValidForMonth 4 days  = FT.minimum days <= 30
+hasValidForMonth 5 days  = FT.minimum days <= 31
+hasValidForMonth 6 days  = FT.minimum days <= 30
+hasValidForMonth 7 days  = FT.minimum days <= 31
+hasValidForMonth 8 days  = FT.minimum days <= 31
+hasValidForMonth 9 days  = FT.minimum days <= 30
+hasValidForMonth 10 days = FT.minimum days <= 31
+hasValidForMonth 11 days = FT.minimum days <= 30
+hasValidForMonth 12 days = FT.minimum days <= 31
 hasValidForMonth _ _     = False
 
 
diff --git a/src/System/Cron/Types.hs b/src/System/Cron/Types.hs
--- a/src/System/Cron/Types.hs
+++ b/src/System/Cron/Types.hs
@@ -48,13 +48,14 @@
 
 
 -------------------------------------------------------------------------------
-import qualified Data.Foldable      as FT
+import           Control.Applicative as A
+import qualified Data.Foldable       as FT
 import           Data.Ix
-import           Data.List.NonEmpty (NonEmpty (..))
-import qualified Data.List.NonEmpty as NE
+import           Data.List.NonEmpty  (NonEmpty (..))
+import qualified Data.List.NonEmpty  as NE
 import           Data.Monoid
-import           Data.Text          (Text)
-import qualified Data.Text          as T
+import           Data.Text           (Text)
+import qualified Data.Text           as T
 -------------------------------------------------------------------------------
 
 
@@ -150,7 +151,7 @@
 
 
 instance ShowT Crontab where
-  showT (Crontab entries) = T.intercalate "\n" (showT <$> entries)
+  showT (Crontab entries) = T.intercalate "\n" (showT A.<$> entries)
 
 
 instance Show Crontab where
diff --git a/test/System/Test/Cron/Schedule.hs b/test/System/Test/Cron/Schedule.hs
--- a/test/System/Test/Cron/Schedule.hs
+++ b/test/System/Test/Cron/Schedule.hs
@@ -30,9 +30,10 @@
   , testCase "should read all three jobs." $
       length s @?= 3
   ]
-  where Right ((), s) = runSchedule $ do addJob empty "* * * * *"
-                                         addJob empty "0 * * * *"
-                                         addJob empty "0 0 * * *"
+  where Right ((), s) = runSchedule $ do addJob noop "* * * * *"
+                                         addJob noop "0 * * * *"
+                                         addJob noop "0 0 * * *"
+        noop = return ()
 
 describeExecSchedule :: TestTree
 describeExecSchedule = testGroup "execSchedule"
