diff --git a/country-codes.cabal b/country-codes.cabal
--- a/country-codes.cabal
+++ b/country-codes.cabal
@@ -1,5 +1,5 @@
 name:           country-codes
-version:        0.1.3
+version:        0.1.4
 cabal-version:  >= 1.8
 build-type:     Simple
 author:         JP Moresmau <jpmoresmau@gmail.com>
@@ -30,6 +30,7 @@
       base                 >= 4    && < 5
     , text                 >= 0.11
     , aeson                >= 0.5
+    , deepseq              >= 1.4
     , shakespeare          == 2.0.*
   ghc-options:      -Wall
   other-modules:    Data.CountryCodes.ISO31661
@@ -41,7 +42,7 @@
   build-depends:
       base                 >= 4    && < 5
     , text                 >= 0.11
-    , tagsoup              >= 0.13 && < 0.14
+    , tagsoup              >= 0.13 && < 0.15
   ghc-options:     -Wall -rtsopts
   main-is:         Main.hs
   if !flag(generate)
diff --git a/src/Data/CountryCodes/ISO31661.hs b/src/Data/CountryCodes/ISO31661.hs
--- a/src/Data/CountryCodes/ISO31661.hs
+++ b/src/Data/CountryCodes/ISO31661.hs
@@ -13,10 +13,11 @@
 ) where
 
 import Control.Applicative (pure)
+import Control.DeepSeq (NFData(..))
 import           Data.Aeson
 import           Data.Typeable
 import qualified Data.Text as T
-import           Prelude (Show,Read,Eq,Ord,Bounded,Enum,error,($),(++),Maybe(..),(.),fail)
+import           Prelude (Show,Read,Eq,Ord,Bounded,Enum,error,($),(++),Maybe(..),(.),fail,seq)
 import           Text.Shakespeare.I18N
 
 data CountryCode = 
@@ -1560,3 +1561,6 @@
 instance RenderMessage master CountryCode where
   renderMessage _ _ = toName
 
+-- | Allow the deep evaluation of CountryCode with `deepseq`
+instance NFData CountryCode where
+  rnf a = a `seq` ()
