diff --git a/Data/Text/ICU/Break.hsc b/Data/Text/ICU/Break.hsc
--- a/Data/Text/ICU/Break.hsc
+++ b/Data/Text/ICU/Break.hsc
@@ -58,7 +58,7 @@
 import Data.Text.ICU.Error.Internal (UErrorCode, handleError)
 import Data.Text.ICU.Internal (LocaleName(..), UBool, UChar, asBool, withLocaleName)
 import Foreign.C.String (CString, peekCString)
-import Foreign.C.Types (CInt)
+import Foreign.C.Types (CInt(..))
 import Foreign.ForeignPtr (newForeignPtr, withForeignPtr)
 import Foreign.Marshal.Array (allocaArray, peekArray)
 import Foreign.Marshal.Utils (with)
diff --git a/Data/Text/ICU/Char.hsc b/Data/Text/ICU/Char.hsc
--- a/Data/Text/ICU/Char.hsc
+++ b/Data/Text/ICU/Char.hsc
@@ -94,7 +94,7 @@
 import Data.Typeable (Typeable)
 import Data.Word (Word8)
 import Foreign.C.String (CString, peekCStringLen, withCString)
-import Foreign.C.Types (CInt)
+import Foreign.C.Types (CInt(..))
 import Foreign.Ptr (Ptr)
 import System.IO.Unsafe (unsafePerformIO)
 
diff --git a/Data/Text/ICU/Collate.hsc b/Data/Text/ICU/Collate.hsc
--- a/Data/Text/ICU/Collate.hsc
+++ b/Data/Text/ICU/Collate.hsc
@@ -51,7 +51,7 @@
 import Data.Typeable (Typeable)
 import Data.Word (Word8)
 import Foreign.C.String (CString)
-import Foreign.C.Types (CInt)
+import Foreign.C.Types (CInt(..))
 import Foreign.ForeignPtr (withForeignPtr)
 import Foreign.Marshal.Utils (with)
 import Foreign.Ptr (Ptr, nullPtr)
diff --git a/Data/Text/ICU/Convert.hs b/Data/Text/ICU/Convert.hs
--- a/Data/Text/ICU/Convert.hs
+++ b/Data/Text/ICU/Convert.hs
@@ -43,7 +43,7 @@
 import Data.Text.ICU.Error.Internal (UErrorCode, handleError)
 import Data.Word (Word16)
 import Foreign.C.String (CString, peekCString, withCString)
-import Foreign.C.Types (CInt)
+import Foreign.C.Types (CInt(..))
 import Foreign.ForeignPtr (newForeignPtr)
 import Foreign.Marshal.Array (allocaArray)
 import Foreign.Ptr (FunPtr, Ptr, castPtr)
diff --git a/Data/Text/ICU/Error/Internal.hsc b/Data/Text/ICU/Error/Internal.hsc
--- a/Data/Text/ICU/Error/Internal.hsc
+++ b/Data/Text/ICU/Error/Internal.hsc
@@ -29,7 +29,7 @@
 import Data.Int (Int32)
 import Data.Typeable (Typeable)
 import Foreign.C.String (CString, peekCString)
-import Foreign.C.Types (CInt)
+import Foreign.C.Types (CInt(..))
 import Foreign.Storable (Storable(..))
 import System.IO.Unsafe (unsafePerformIO)
 
diff --git a/Data/Text/ICU/Normalize.hsc b/Data/Text/ICU/Normalize.hsc
--- a/Data/Text/ICU/Normalize.hsc
+++ b/Data/Text/ICU/Normalize.hsc
@@ -42,7 +42,7 @@
 import Data.Typeable (Typeable)
 import Data.Int (Int32)
 import Data.Word (Word32)
-import Foreign.C.Types (CInt)
+import Foreign.C.Types (CInt(..))
 import Foreign.Ptr (Ptr, castPtr)
 import System.IO.Unsafe (unsafePerformIO)
 import Prelude hiding (compare)
diff --git a/Data/Text/ICU/Regex.hs b/Data/Text/ICU/Regex.hs
--- a/Data/Text/ICU/Regex.hs
+++ b/Data/Text/ICU/Regex.hs
@@ -51,7 +51,7 @@
     ) where
 
 import Data.Text.ICU.Regex.Internal
-import Control.Exception (catch)
+import qualified Control.Exception as E
 import Data.IORef (newIORef, readIORef, writeIORef)
 import Data.Text (Text)
 import qualified Data.Text.Foreign as T
@@ -62,7 +62,6 @@
 import Foreign.ForeignPtr (ForeignPtr, newForeignPtr, withForeignPtr)
 import Foreign.Marshal.Alloc (alloca)
 import Foreign.Storable (peek)
-import Prelude hiding (catch)
 import System.IO.Unsafe (unsafePerformIO)
                    
 instance Show Regex where
@@ -77,7 +76,7 @@
 -- | Compile a regular expression with the given options.  This is
 -- safest to use when the pattern is constructed at run time.
 regex' :: [MatchOption] -> Text -> IO (Either ParseError Regex)
-regex' opts pat = (Right `fmap` regex opts pat) `catch` \(err::ParseError) ->
+regex' opts pat = (Right `fmap` regex opts pat) `E.catch` \(err::ParseError) ->
                   return (Left err)
 
 -- | Set the subject text string upon which the regular expression
diff --git a/Data/Text/ICU/Regex/Internal.hsc b/Data/Text/ICU/Regex/Internal.hsc
--- a/Data/Text/ICU/Regex/Internal.hsc
+++ b/Data/Text/ICU/Regex/Internal.hsc
@@ -55,7 +55,6 @@
 import Data.Word (Word16, Word32)
 import Foreign.ForeignPtr (ForeignPtr, newForeignPtr, touchForeignPtr, withForeignPtr)
 import Foreign.Ptr (FunPtr, Ptr)
-import Prelude hiding (catch)
 import System.IO.Unsafe (unsafePerformIO)
 
 #include <unicode/uregex.h>
diff --git a/Data/Text/ICU/Regex/Pure.hs b/Data/Text/ICU/Regex/Pure.hs
--- a/Data/Text/ICU/Regex/Pure.hs
+++ b/Data/Text/ICU/Regex/Pure.hs
@@ -47,7 +47,7 @@
     , suffix
     ) where
 
-import Control.Exception (catch)
+import qualified Control.Exception as E
 import Data.String (IsString(..))
 import Data.Text (Text)
 import qualified Data.Text as T
@@ -60,7 +60,7 @@
 import Foreign.Marshal.Alloc (alloca)
 import Foreign.Marshal.Array (advancePtr)
 import Foreign.Storable (peek)
-import Prelude hiding (catch, span)
+import Prelude hiding (span)
 import System.IO.Unsafe (unsafeInterleaveIO, unsafePerformIO)
 
 -- | A compiled regular expression.
@@ -114,7 +114,7 @@
 -- safest to use when the pattern is constructed at run time.
 regex' :: [MatchOption] -> Text -> Either ParseError Regex
 regex' opts pat = unsafePerformIO $
-  ((Right . Regex) `fmap` Internal.regex opts pat) `catch`
+  ((Right . Regex) `fmap` Internal.regex opts pat) `E.catch`
   \(err::ParseError) -> return (Left err)
 
 -- | Return the source form of the pattern used to construct this
diff --git a/text-icu.cabal b/text-icu.cabal
--- a/text-icu.cabal
+++ b/text-icu.cabal
@@ -1,5 +1,5 @@
 name:           text-icu
-version:        0.6.3.4
+version:        0.6.3.5
 synopsis:       Bindings to the ICU library
 homepage:       https://bitbucket.org/bos/text-icu
 bug-reports:    https://bitbucket.org/bos/text-icu/issues
