diff --git a/Data/UnixTime/Conv.hs b/Data/UnixTime/Conv.hs
--- a/Data/UnixTime/Conv.hs
+++ b/Data/UnixTime/Conv.hs
@@ -1,4 +1,5 @@
-{-# LANGUAGE OverloadedStrings, ForeignFunctionInterface #-}
+{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE OverloadedStrings #-}
 
 module Data.UnixTime.Conv (
     formatUnixTime, formatUnixTimeGMT
@@ -9,7 +10,7 @@
   ) where
 
 import Control.Applicative
-import Data.ByteString
+import Data.ByteString.Char8
 import Data.ByteString.Unsafe
 import Data.UnixTime.Types
 import Foreign.C.String
@@ -21,6 +22,7 @@
 
 -- $setup
 -- >>> import Data.Function (on)
+-- >>> :set -XOverloadedStrings
 
 foreign import ccall unsafe "c_parse_unix_time"
         c_parse_unix_time :: CString -> CString -> IO CTime
diff --git a/Data/UnixTime/Diff.hs b/Data/UnixTime/Diff.hs
--- a/Data/UnixTime/Diff.hs
+++ b/Data/UnixTime/Diff.hs
@@ -11,6 +11,9 @@
 import Data.Int
 import Foreign.C.Types
 
+-- $setup
+-- >>> :set -XOverloadedStrings
+
 ----------------------------------------------------------------
 
 calc :: CTime -> Int32 -> UnixDiffTime
@@ -63,7 +66,7 @@
 
 -- | Adding difference to 'UnixTime'.
 --
--- >>> UnixTime 100 2000 `addUnixDiffTime` microSecondsToUnixDiffTime (-1003000)
+-- >>> UnixTime 100 2000 `addUnixDiffTime` microSecondsToUnixDiffTime ((-1003000) :: Int)
 -- UnixTime {utSeconds = 98, utMicroSeconds = 999000}
 
 addUnixDiffTime :: UnixTime -> UnixDiffTime -> UnixTime
@@ -71,7 +74,7 @@
 
 -- | Creating difference from seconds.
 --
--- >>> secondsToUnixDiffTime 100
+-- >>> secondsToUnixDiffTime (100 :: Int)
 -- UnixDiffTime {udtSeconds = 100, udtMicroSeconds = 0}
 
 secondsToUnixDiffTime :: (Integral a) => a -> UnixDiffTime
@@ -80,10 +83,10 @@
 
 -- | Creating difference from micro seconds.
 --
--- >>> microSecondsToUnixDiffTime 12345678
+-- >>> microSecondsToUnixDiffTime (12345678 :: Int)
 -- UnixDiffTime {udtSeconds = 12, udtMicroSeconds = 345678}
 --
--- >>> microSecondsToUnixDiffTime (-12345678)
+-- >>> microSecondsToUnixDiffTime ((-12345678) :: Int)
 -- UnixDiffTime {udtSeconds = -12, udtMicroSeconds = -345678}
 
 microSecondsToUnixDiffTime :: (Integral a) => a -> UnixDiffTime
diff --git a/test/doctests.hs b/test/doctests.hs
deleted file mode 100644
--- a/test/doctests.hs
+++ /dev/null
@@ -1,12 +0,0 @@
-module Main where
-
-import Build_doctests (flags, pkgs, module_sources)
-import Data.Foldable (traverse_)
-import Test.DocTest (doctest)
-
-main :: IO ()
-main = do
-    traverse_ putStrLn args
-    doctest args
-  where
-    args = ["-XOverloadedStrings"] ++ flags ++ pkgs ++ module_sources
diff --git a/unix-time.cabal b/unix-time.cabal
--- a/unix-time.cabal
+++ b/unix-time.cabal
@@ -1,74 +1,76 @@
-Name:                   unix-time
-Version:                0.4.8
-Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
-Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
-License:                BSD3
-License-File:           LICENSE
-Synopsis:               Unix time parser/formatter and utilities
-Description:            Fast parser\/formatter\/utilities for Unix time
-Category:               Data
-Cabal-Version:          1.18
-Build-Type:             Configure
-Extra-Source-Files:     cbits/config.h.in
-                        cbits/conv.c
-                        cbits/strftime.c
-                        cbits/strptime.c
-                        cbits/win_patch.c
-                        cbits/win_patch.h
-                        configure
-                        configure.ac
-Extra-Tmp-Files:        config.log config.status autom4te.cache cbits/config.h
+cabal-version:      1.18
+name:               unix-time
+version:            0.4.9
+license:            BSD3
+license-file:       LICENSE
+maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>
+author:             Kazu Yamamoto <kazu@iij.ad.jp>
+synopsis:           Unix time parser/formatter and utilities
+description:        Fast parser\/formatter\/utilities for Unix time
+category:           Data
+build-type:         Configure
+extra-source-files:
+    cbits/config.h.in
+    cbits/conv.c
+    cbits/strftime.c
+    cbits/strptime.c
+    cbits/win_patch.c
+    cbits/win_patch.h
+    configure
+    configure.ac
 
-Library
-  Default-Language:     Haskell2010
-  GHC-Options:          -Wall
-  if impl(ghc >= 7.8)
-    CC-Options:         -fPIC
-  Exposed-Modules:      Data.UnixTime
-  Other-Modules:        Data.UnixTime.Conv
-                        Data.UnixTime.Diff
-                        Data.UnixTime.Types
-                        Data.UnixTime.Sys
-  Build-Depends:        base >= 4 && < 5
-                      , bytestring
-                      , old-time
-                      , binary
-  Build-Tools:          hsc2hs
-  C-Sources:            cbits/conv.c
-  if os(windows)
-    C-Sources:          cbits/strftime.c
-                      , cbits/strptime.c
-                      , cbits/win_patch.c
-  include-dirs:         cbits
+extra-tmp-files:
+    config.log
+    config.status
+    autom4te.cache
+    cbits/config.h
 
-Test-Suite doctests
-  Buildable:            False
-  Type:                 exitcode-stdio-1.0
-  Default-Language:     Haskell2010
-  HS-Source-Dirs:       test
-  Ghc-Options:          -threaded -Wall
-  Main-Is:              doctests.hs
-  Build-Depends:        base
-                      , doctest >= 0.9.3
-                      , unix-time
+source-repository head
+    type:     git
+    location: https://github.com/kazu-yamamoto/unix-time
 
-Test-Suite spec
-  Type:                 exitcode-stdio-1.0
-  Default-Language:     Haskell2010
-  Hs-Source-Dirs:       test
-  Ghc-Options:          -Wall
-  Main-Is:              Spec.hs
-  Other-Modules:        UnixTimeSpec
-  Build-Tools:          hspec-discover >= 2.6
-  Build-Depends:        base
-                      , bytestring
-                      , old-locale
-                      , old-time
-                      , QuickCheck
-                      , time
-                      , unix-time
-                      , hspec >= 2.6
+library
+    exposed-modules:  Data.UnixTime
+    build-tools:      hsc2hs >=0
+    c-sources:        cbits/conv.c
+    other-modules:
+        Data.UnixTime.Conv
+        Data.UnixTime.Diff
+        Data.UnixTime.Types
+        Data.UnixTime.Sys
 
-Source-Repository head
-  Type:                 git
-  Location:             https://github.com/kazu-yamamoto/unix-time
+    default-language: Haskell2010
+    include-dirs:     cbits
+    ghc-options:      -Wall
+    build-depends:
+        base >=4 && <5,
+        bytestring,
+        old-time,
+        binary
+
+    if impl(ghc >=7.8)
+        cc-options: -fPIC
+
+    if os(windows)
+        c-sources:
+            cbits/strftime.c
+            cbits/strptime.c
+            cbits/win_patch.c
+
+test-suite spec
+    type:             exitcode-stdio-1.0
+    main-is:          Spec.hs
+    build-tools:      hspec-discover >=2.6
+    hs-source-dirs:   test
+    other-modules:    UnixTimeSpec
+    default-language: Haskell2010
+    ghc-options:      -Wall
+    build-depends:
+        base,
+        bytestring,
+        old-locale,
+        old-time,
+        QuickCheck,
+        time,
+        unix-time,
+        hspec >=2.6
