diff --git a/smtLib.cabal b/smtLib.cabal
--- a/smtLib.cabal
+++ b/smtLib.cabal
@@ -1,5 +1,5 @@
 Name:           smtLib
-Version:        1.0.3
+Version:        1.0.4
 License:        BSD3
 License-file:   LICENSE
 Author:         Iavor S. Diatchki
diff --git a/src/SMTLib1.hs b/src/SMTLib1.hs
--- a/src/SMTLib1.hs
+++ b/src/SMTLib1.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE Safe #-}
 module SMTLib1 (module X) where
 
 import SMTLib1.AST as X
diff --git a/src/SMTLib1/AST.hs b/src/SMTLib1/AST.hs
--- a/src/SMTLib1/AST.hs
+++ b/src/SMTLib1/AST.hs
@@ -8,10 +8,10 @@
 -- URL:
 -- http://goedel.cs.uiowa.edu/smtlib/papers/format-v1.2-r06.08.05.pdf
 
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib1.AST where
 
-import GHC.Exts(IsString(..))
+import Data.String(IsString(..))
 
 newtype Name  = N String
                 deriving (Eq,Ord,Show)
diff --git a/src/SMTLib1/PP.hs b/src/SMTLib1/PP.hs
--- a/src/SMTLib1/PP.hs
+++ b/src/SMTLib1/PP.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE Safe #-}
 module SMTLib1.PP where
 
 import SMTLib1.AST
diff --git a/src/SMTLib1/QF_AUFBV.hs b/src/SMTLib1/QF_AUFBV.hs
--- a/src/SMTLib1/QF_AUFBV.hs
+++ b/src/SMTLib1/QF_AUFBV.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib1.QF_AUFBV (module SMTLib1.QF_AUFBV, module X) where
 
 import SMTLib1.QF_BV as X
diff --git a/src/SMTLib1/QF_BV.hs b/src/SMTLib1/QF_BV.hs
--- a/src/SMTLib1/QF_BV.hs
+++ b/src/SMTLib1/QF_BV.hs
@@ -1,8 +1,8 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib1.QF_BV (module X, module SMTLib1.QF_BV) where
 
 import SMTLib1 as X
-import GHC.Exts(IsString(..))
+import Data.String(IsString(..))
 
 
 tBitVec :: Integer -> Sort
diff --git a/src/SMTLib2.hs b/src/SMTLib2.hs
--- a/src/SMTLib2.hs
+++ b/src/SMTLib2.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE Safe #-}
 module SMTLib2 (module X) where
 
 import SMTLib2.AST as X
diff --git a/src/SMTLib2/AST.hs b/src/SMTLib2/AST.hs
--- a/src/SMTLib2/AST.hs
+++ b/src/SMTLib2/AST.hs
@@ -8,10 +8,10 @@
 -- URL:
 -- http://goedel.cs.uiowa.edu/smtlib/papers/smt-lib-reference-v2.0-r10.12.21.pdf
 
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib2.AST where
 
-import GHC.Exts(IsString(..))
+import Data.String(IsString(..))
 
 newtype Name  = N String
                 deriving (Eq,Ord,Show)
diff --git a/src/SMTLib2/Array.hs b/src/SMTLib2/Array.hs
--- a/src/SMTLib2/Array.hs
+++ b/src/SMTLib2/Array.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib2.Array where
 
 import SMTLib2.AST
diff --git a/src/SMTLib2/BitVector.hs b/src/SMTLib2/BitVector.hs
--- a/src/SMTLib2/BitVector.hs
+++ b/src/SMTLib2/BitVector.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib2.BitVector where
 
 import SMTLib2.AST
diff --git a/src/SMTLib2/Compat1.hs b/src/SMTLib2/Compat1.hs
--- a/src/SMTLib2/Compat1.hs
+++ b/src/SMTLib2/Compat1.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE Safe #-}
 module SMTLib2.Compat1 where
 
 import qualified SMTLib1.AST as V1
diff --git a/src/SMTLib2/Core.hs b/src/SMTLib2/Core.hs
--- a/src/SMTLib2/Core.hs
+++ b/src/SMTLib2/Core.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib2.Core where
 
 import SMTLib2.AST
diff --git a/src/SMTLib2/Int.hs b/src/SMTLib2/Int.hs
--- a/src/SMTLib2/Int.hs
+++ b/src/SMTLib2/Int.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, Safe #-}
 module SMTLib2.Int where
 
 import SMTLib2.AST
diff --git a/src/SMTLib2/PP.hs b/src/SMTLib2/PP.hs
--- a/src/SMTLib2/PP.hs
+++ b/src/SMTLib2/PP.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE Safe #-}
 module SMTLib2.PP where
 
 import SMTLib2.AST
