diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -60,3 +60,7 @@
 
 0.1.3.1:
 		fixed .cabal repository line
+
+0.1.3.2:
+		fixed warning about CInt constructor not being exposed
+		use System.IO.Unsafe.unsafePerformIO not from Foreign
diff --git a/hmatrix-gsl-stats.cabal b/hmatrix-gsl-stats.cabal
--- a/hmatrix-gsl-stats.cabal
+++ b/hmatrix-gsl-stats.cabal
@@ -1,5 +1,5 @@
 Name:               hmatrix-gsl-stats
-Version:            0.1.3.1
+Version:            0.1.3.2
 License:            GPL
 License-file:       LICENSE
 Copyright:          (c) A.V.H. McPhail 2010, 2011
diff --git a/lib/Numeric/GSL/Distribution/Continuous.hs b/lib/Numeric/GSL/Distribution/Continuous.hs
--- a/lib/Numeric/GSL/Distribution/Continuous.hs
+++ b/lib/Numeric/GSL/Distribution/Continuous.hs
@@ -39,11 +39,11 @@
 
 --import Control.Monad(when)
 
-import Foreign hiding(shift)
+import Foreign hiding(shift,unsafePerformIO)
 --import Foreign.ForeignPtr
 --import Foreign.Marshal.Alloc(alloca)
 --import Foreign.C.Types(CInt,CChar)
-import Foreign.C.Types(CInt)
+import Foreign.C.Types(CInt(..))
 --import Foreign.C.String(newCString,peekCString)
 
 --import GHC.ForeignPtr           (mallocPlainForeignPtrBytes)
@@ -54,6 +54,8 @@
 --import Prelude hiding(reverse)
 
 import Numeric.GSL.Distribution.Common
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
diff --git a/lib/Numeric/GSL/Distribution/Discrete.hs b/lib/Numeric/GSL/Distribution/Discrete.hs
--- a/lib/Numeric/GSL/Distribution/Discrete.hs
+++ b/lib/Numeric/GSL/Distribution/Discrete.hs
@@ -35,11 +35,11 @@
 
 --import Control.Monad(when)
 
-import Foreign hiding(shift)
+import Foreign hiding(shift,unsafePerformIO)
 --import Foreign.ForeignPtr
 --import Foreign.Marshal.Alloc(alloca)
 --import Foreign.C.Types(CInt,CUInt,CChar)
-import Foreign.C.Types(CInt,CUInt)
+import Foreign.C.Types(CInt(..),CUInt(..))
 --import Foreign.C.String(newCString,peekCString)
 
 --import GHC.ForeignPtr           (mallocPlainForeignPtrBytes)
@@ -50,6 +50,8 @@
 --import Prelude hiding(reverse)
 
 import Numeric.GSL.Distribution.Common
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
diff --git a/lib/Numeric/GSL/Fitting/Linear.hs b/lib/Numeric/GSL/Fitting/Linear.hs
--- a/lib/Numeric/GSL/Fitting/Linear.hs
+++ b/lib/Numeric/GSL/Fitting/Linear.hs
@@ -29,10 +29,10 @@
 
 --import Control.Monad(when)
 
-import Foreign
+import Foreign hiding (unsafePerformIO)
 --import Foreign.ForeignPtr
 --import Foreign.Marshal.Alloc(alloca)
-import Foreign.C.Types(CInt)
+import Foreign.C.Types(CInt(..))
 --import Foreign.C.String(newCString,peekCString)
 
 --import GHC.ForeignPtr           (mallocPlainForeignPtrBytes)
@@ -41,6 +41,8 @@
 --import GHC.IOBase
 
 --import Prelude hiding(reverse)
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
diff --git a/lib/Numeric/GSL/Histogram.hs b/lib/Numeric/GSL/Histogram.hs
--- a/lib/Numeric/GSL/Histogram.hs
+++ b/lib/Numeric/GSL/Histogram.hs
@@ -58,10 +58,10 @@
 --import Control.Monad
 import Data.Binary
 
-import Foreign hiding(shift)
+import Foreign hiding(shift,unsafePerformIO)
 --import Foreign.ForeignPtr
 --import Foreign.Marshal.Alloc(alloca)
-import Foreign.C.Types(CInt,CChar)
+import Foreign.C.Types(CInt(..),CChar(..))
 --import Foreign.C.String(newCString,peekCString)
 import Foreign.C.String(newCString)
 --import Control.Monad(when)
@@ -72,6 +72,8 @@
 --import GHC.IOBase
 
 import Prelude hiding(subtract,sum)
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
diff --git a/lib/Numeric/GSL/Histogram2D.hs b/lib/Numeric/GSL/Histogram2D.hs
--- a/lib/Numeric/GSL/Histogram2D.hs
+++ b/lib/Numeric/GSL/Histogram2D.hs
@@ -63,12 +63,12 @@
 
 import Data.Binary
 
-import Foreign hiding(shift)
+import Foreign hiding(shift,unsafePerformIO)
 --import Foreign.Storable
 --import Foreign.Ptr
 --import Foreign.ForeignPtr
 --import Foreign.Marshal.Alloc(alloca)
-import Foreign.C.Types(CInt,CChar)
+import Foreign.C.Types(CInt(..),CChar(..))
 --import Foreign.C.String(newCString,peekCString)
 import Foreign.C.String(newCString)
 
@@ -78,6 +78,8 @@
 --import GHC.IOBase
 
 import Prelude hiding(subtract,sum)
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
diff --git a/lib/Numeric/GSL/Permutation.hs b/lib/Numeric/GSL/Permutation.hs
--- a/lib/Numeric/GSL/Permutation.hs
+++ b/lib/Numeric/GSL/Permutation.hs
@@ -41,10 +41,10 @@
 
 --import Control.Monad(when)
 
-import Foreign hiding(shift)
+import Foreign hiding(shift,unsafePerformIO)
 --import Foreign.ForeignPtr
 --import Foreign.Marshal.Alloc(alloca)
-import Foreign.C.Types(CInt,CChar)
+import Foreign.C.Types(CInt(..),CChar(..))
 --import Foreign.C.String(newCString,peekCString)
 import Foreign.C.String(newCString)
 
@@ -54,6 +54,8 @@
 --import GHC.IOBase
 
 import Prelude hiding(reverse)
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
diff --git a/lib/Numeric/GSL/Sort.hs b/lib/Numeric/GSL/Sort.hs
--- a/lib/Numeric/GSL/Sort.hs
+++ b/lib/Numeric/GSL/Sort.hs
@@ -22,8 +22,10 @@
 import Data.Packed.Vector
 import Data.Packed.Development
 
-import Foreign
-import Foreign.C.Types(CInt)
+import Foreign hiding (unsafePerformIO)
+import Foreign.C.Types(CInt(..))
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -- | sort the elements of a vector into ascending order
 sort :: Vector Double -> Vector Double
diff --git a/lib/Numeric/GSL/Statistics.hs b/lib/Numeric/GSL/Statistics.hs
--- a/lib/Numeric/GSL/Statistics.hs
+++ b/lib/Numeric/GSL/Statistics.hs
@@ -49,9 +49,11 @@
 --import Numeric.LinearAlgebra.Instances()
 --import Numeric.LinearAlgebra.Linear(Linear(..))
 
-import Foreign
-import Foreign.C.Types(CInt)
+import Foreign hiding (unsafePerformIO)
+import Foreign.C.Types(CInt(..))
 --import Foreign.Marshal.Alloc(alloca)
+
+import System.IO.Unsafe(unsafePerformIO)
 
 -----------------------------------------------------------------------------
 
