diff --git a/genvalidity-time.cabal b/genvalidity-time.cabal
--- a/genvalidity-time.cabal
+++ b/genvalidity-time.cabal
@@ -1,5 +1,5 @@
 name: genvalidity-time
-version: 0.0.0.0
+version: 0.0.0.1
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -25,7 +25,7 @@
         Data.GenValidity.Time.Format
         Data.GenValidity.Time.LocalTime
     build-depends:
-        base <5,
+        base >=4.7 && <5,
         validity-time >=0.0 && <0.1,
         genvalidity >=0.3.0.1 && <0.4,
         time
diff --git a/src/Data/GenValidity/Time.hs b/src/Data/GenValidity/Time.hs
--- a/src/Data/GenValidity/Time.hs
+++ b/src/Data/GenValidity/Time.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -Wno-dodgy-exports #-}
+{-# OPTIONS_GHC -fno-warn-dodgy-exports #-}
 
 module Data.GenValidity.Time
     ( module X
diff --git a/src/Data/GenValidity/Time/Calendar.hs b/src/Data/GenValidity/Time/Calendar.hs
--- a/src/Data/GenValidity/Time/Calendar.hs
+++ b/src/Data/GenValidity/Time/Calendar.hs
@@ -1,11 +1,14 @@
-{-# OPTIONS_GHC -Wno-orphans #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 
 module Data.GenValidity.Time.Calendar where
 
 import Data.GenValidity
 import Data.Time.Calendar
 import Data.Validity.Time.Calendar ()
-
+#if !MIN_VERSION_base(4,8,0)
+import Data.Functor ((<$>))
+#endif
 instance GenUnchecked Day where
     genUnchecked = ModifiedJulianDay <$> genUnchecked
 
diff --git a/src/Data/GenValidity/Time/Clock.hs b/src/Data/GenValidity/Time/Clock.hs
--- a/src/Data/GenValidity/Time/Clock.hs
+++ b/src/Data/GenValidity/Time/Clock.hs
@@ -1,7 +1,11 @@
-{-# OPTIONS_GHC -Wno-orphans #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 
 module Data.GenValidity.Time.Clock where
-
+#if !MIN_VERSION_base(4,8,0)
+import Control.Applicative ((<*>))
+import Data.Functor ((<$>))
+#endif
 import Data.GenValidity
 import Data.GenValidity.Time.Calendar ()
 import Data.Time.Clock
diff --git a/src/Data/GenValidity/Time/Format.hs b/src/Data/GenValidity/Time/Format.hs
--- a/src/Data/GenValidity/Time/Format.hs
+++ b/src/Data/GenValidity/Time/Format.hs
@@ -1,4 +1,5 @@
-{-# OPTIONS_GHC -Wno-orphans #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 
 module Data.GenValidity.Time.Format where
 
@@ -6,7 +7,7 @@
 import Data.GenValidity.Time.LocalTime ()
 import Data.Time.Format
 import Data.Validity.Time.Format ()
-
+#if MIN_VERSION_time(1,5,0)
 instance GenUnchecked TimeLocale where
     genUnchecked =
         TimeLocale <$> genUnchecked <*> genUnchecked <*> genUnchecked <*>
@@ -17,3 +18,4 @@
         genUnchecked
 
 instance GenValid TimeLocale
+#endif
diff --git a/src/Data/GenValidity/Time/LocalTime.hs b/src/Data/GenValidity/Time/LocalTime.hs
--- a/src/Data/GenValidity/Time/LocalTime.hs
+++ b/src/Data/GenValidity/Time/LocalTime.hs
@@ -1,7 +1,11 @@
-{-# OPTIONS_GHC -Wno-orphans #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 
 module Data.GenValidity.Time.LocalTime where
-
+#if !MIN_VERSION_base(4,8,0)
+import Control.Applicative ((<*>))
+import Data.Functor ((<$>))
+#endif
 import Data.GenValidity
 import Data.GenValidity.Time.Calendar ()
 import Data.Time.LocalTime
