diff --git a/Data/Time/Exts/UTC.hs b/Data/Time/Exts/UTC.hs
--- a/Data/Time/Exts/UTC.hs
+++ b/Data/Time/Exts/UTC.hs
@@ -333,7 +333,7 @@
    -> Second
    -> UTCDateTime 'Gregorian
 createUTCDateTime year mon mday hour min sec =
-   if minBound <= time && time <= maxBound then time
+   if (minBound :: UTCDateTime 'Gregorian) <= time && time <= (maxBound :: UTCDateTime 'Gregorian) then time
    else error "createUTCDateTime: out of bounds"
    where UnixDateTime unix = createUnixDateTime year mon mday hour min 0
          time = UTCDateTime base
@@ -351,7 +351,7 @@
    -> Nanos
    -> UTCDateTimeNanos 'Gregorian
 createUTCDateTimeNanos year mon mday hour min sec nanos =
-   if minBound <= time && time <= maxBound then time
+   if (minBound :: UTCDateTimeNanos 'Gregorian) <= time && time <= (maxBound :: UTCDateTimeNanos 'Gregorian) then time
    else error "createUTCDateTimeNanos: out of bounds"
    where UnixDateTime unix = createUnixDateTime year mon mday hour min 0
          time = UTCDateTimeNanos base nsec
diff --git a/Data/Time/Exts/Unix.hs b/Data/Time/Exts/Unix.hs
--- a/Data/Time/Exts/Unix.hs
+++ b/Data/Time/Exts/Unix.hs
@@ -475,7 +475,7 @@
    -> Day
    -> UnixDate 'Gregorian
 createUnixDate year mon mday =
-   if minBound <= date && date <= maxBound then date
+   if (minBound :: UnixDate 'Gregorian) <= date && date <= (maxBound :: UnixDate 'Gregorian) then date
    else error "createUnixDate: out of bounds"
    where Day base = unsafeEpochToDate year mon mday
          date = UnixDate base
@@ -491,7 +491,7 @@
    -> Second
    -> UnixDateTime 'Gregorian
 createUnixDateTime year mon mday hour min sec =
-   if minBound <= time && time <= maxBound then time
+   if (minBound :: UnixDateTime 'Gregorian) <= time && time <= (maxBound :: UnixDateTime 'Gregorian) then time
    else error "createUnixDateTime: out of bounds"
    where Second base = unsafeEpochToDateTime year mon mday hour min sec
          time = UnixDateTime base
@@ -508,7 +508,7 @@
    -> Nanos
    -> UnixDateTimeNanos 'Gregorian
 createUnixDateTimeNanos year mon mday hour min sec nanos =
-   if minBound <= time && time <= maxBound then time
+   if (minBound :: UnixDateTimeNanos 'Gregorian) <= time && time <= (maxBound :: UnixDateTimeNanos 'Gregorian) then time
    else error "createUnixDateTimeNanos: out of bounds"
    where Second base = unsafeEpochToDateTime year mon mday hour min sec
          nsum = fromIntegral nanos
diff --git a/time-exts.cabal b/time-exts.cabal
--- a/time-exts.cabal
+++ b/time-exts.cabal
@@ -1,5 +1,5 @@
 name:          time-exts
-version:       3.0.1
+version:       3.0.2
 synopsis:      Yet another time library
 license:       BSD3
 license-file:  LICENSE
