diff --git a/GHC/Prim/Array.hs b/GHC/Prim/Array.hs
--- a/GHC/Prim/Array.hs
+++ b/GHC/Prim/Array.hs
@@ -12,19 +12,16 @@
   ) where
 
 import GHC.Prim
+import GHC.Types
 
--- | Prepend an element to an array.
-foreign import prim "consArray" consArray_
-  :: Any -> Array# a -> Array# a
 
--- | Append an element to the end of an array.
+
 foreign import prim "snocArray" snocArray_
   :: Array# a -> Any -> Array# a
 
 foreign import prim "snocArrayWithPadding" snocArrayWithPadding_
   :: Int# -> Any -> Array# a -> Any -> Array# a
 
--- | Insert new element at position.
 foreign import prim "insertArray" insertArray_
   :: Int# -> Any -> Array# a -> Array# a
 
@@ -32,19 +29,27 @@
 foreign import prim "deleteArray" deleteArray#
   :: Int# -> Array# a -> Array# a
 
+foreign import prim "consArray" consArray_
+  :: Any -> Array# a -> Array# a
+
+-- | Prepend an element to an array.
 consArray# :: a -> Array# a -> Array# a
 consArray# a arr = consArray_ (unsafeCoerce# a) arr
 {-# inline consArray# #-}
 
+-- | Append an element to the end of an array.
 snocArray# :: Array# a -> a -> Array# a
 snocArray# arr a = snocArray_ arr (unsafeCoerce# a)
 {-# inline snocArray# #-}
 
+-- | Append an element to the array and pad the end with another element.
+--   The first argument is the size of the padding, the second is the pad element.
 snocArrayWithPadding# :: Int# -> a -> Array# a -> a -> Array# a
 snocArrayWithPadding# pad padElem arr a =
   snocArrayWithPadding_ pad (unsafeCoerce# padElem) arr (unsafeCoerce# a)
 {-# inline snocArrayWithPadding# #-}
 
+-- | Insert new element at position.
 insertArray# :: Int# -> a -> Array# a -> Array# a
 insertArray# i a arr = insertArray_ i (unsafeCoerce# a) arr
 {-# inline insertArray# #-}
diff --git a/GHC/Prim/SmallArray.hs b/GHC/Prim/SmallArray.hs
--- a/GHC/Prim/SmallArray.hs
+++ b/GHC/Prim/SmallArray.hs
@@ -12,19 +12,18 @@
   ) where
 
 import GHC.Prim
+import GHC.Types
 
--- | Prepend an element to an array.
+
 foreign import prim "consSmallArray" consSmallArray_
   :: Any -> SmallArray# a -> SmallArray# a
 
--- | Append an element to the end of an array.
 foreign import prim "snocSmallArray" snocSmallArray_
   :: SmallArray# a -> Any -> SmallArray# a
 
 foreign import prim "snocSmallArrayWithPadding" snocSmallArrayWithPadding_
   :: Int# -> Any -> SmallArray# a -> Any -> SmallArray# a
 
--- | Insert new element at position.
 foreign import prim "insertSmallArray" insertSmallArray_
   :: Int# -> Any -> SmallArray# a -> SmallArray# a
 
@@ -32,19 +31,24 @@
 foreign import prim "deleteSmallArray" deleteSmallArray#
   :: Int# -> SmallArray# a -> SmallArray# a
 
+-- | Prepend an element to an array.
 consSmallArray# :: a -> SmallArray# a -> SmallArray# a
 consSmallArray# a arr = consSmallArray_ (unsafeCoerce# a) arr
 {-# inline consSmallArray# #-}
 
+-- | Append an element to the end of an array.
 snocSmallArray# :: SmallArray# a -> a -> SmallArray# a
 snocSmallArray# arr a = snocSmallArray_ arr (unsafeCoerce# a)
 {-# inline snocSmallArray# #-}
 
+-- | Append an element to the array and pad the end with another element.
+--   The first argument is the size of the padding, the second is the pad element.
 snocSmallArrayWithPadding# :: Int# -> a -> SmallArray# a -> a -> SmallArray# a
 snocSmallArrayWithPadding# pad padElem arr a =
   snocSmallArrayWithPadding_ pad (unsafeCoerce# padElem) arr (unsafeCoerce# a)
 {-# inline snocSmallArrayWithPadding# #-}
 
+-- | Insert new element at position.
 insertSmallArray# :: Int# -> a -> SmallArray# a -> SmallArray# a
 insertSmallArray# i a arr = insertSmallArray_ i (unsafeCoerce# a) arr
 {-# inline insertSmallArray# #-}
diff --git a/array-primops.cabal b/array-primops.cabal
--- a/array-primops.cabal
+++ b/array-primops.cabal
@@ -1,6 +1,6 @@
 
 name:                array-primops
-version:             0.2.0.0
+version:             0.2.0.1
 synopsis:            Extra foreign primops for primitive arrays
 license:             BSD3
 license-file:        LICENSE
@@ -9,7 +9,7 @@
 copyright:           2015 András Kovács
 category:            Data
 build-type:          Simple
-cabal-version:       >=1.10     
+cabal-version:       >=1.10
 
 description:
 
@@ -28,7 +28,7 @@
       GHC.Prim.Array
 
     build-depends:
-      base >= 4.7 && <4.9 ,
+      base >= 4.7 && <5,
       ghc-prim >= 0.3.1.0
 
     c-sources:
@@ -46,6 +46,7 @@
       cbits/smallArray.cmm
 
 test-suite tests
+  default-language: Haskell2010                
   hs-source-dirs: tests
   main-is: Tests.hs
   type: exitcode-stdio-1.0
@@ -66,4 +67,4 @@
     array-primops,
     criterion >= 1.0
 
-  ghc-options: -O2 -fllvm
+  ghc-options: -O2
diff --git a/benchmarks/Benchmarks.hs b/benchmarks/Benchmarks.hs
--- a/benchmarks/Benchmarks.hs
+++ b/benchmarks/Benchmarks.hs
@@ -127,29 +127,29 @@
 
      bgroup "SmallArray" [
         bgroup "2" [
-           bench "prim"   $ whnf (insertSA 0 10)      sa2,
-           bench "slow"   $ whnf (insertSASlow 0 10)  sa2
-           -- bench "unsafe" $ whnf (insertSAUnsafe 5 10) sa10
+           bench "prim"   $ whnf (insertSA 0 10)       sa2,
+           bench "slow"   $ whnf (insertSASlow 0 10)   sa2,
+           bench "unsafe" $ whnf (insertSAUnsafe 0 10) sa2
            ],
         bgroup "5" [
-           bench "prim"   $ whnf (insertSA 2 10)      sa5,
-           bench "slow"   $ whnf (insertSASlow 2 10)  sa5
-           -- bench "unsafe" $ whnf (insertSAUnsafe 5 10) sa10
+           bench "prim"   $ whnf (insertSA 2 10)       sa5,
+           bench "slow"   $ whnf (insertSASlow 2 10)   sa5,
+           bench "unsafe" $ whnf (insertSAUnsafe 2 10) sa5
            ],
         bgroup "10" [
-           bench "prim"   $ whnf (insertSA 5 10)      sa10,
-           bench "slow"   $ whnf (insertSASlow 5 10)  sa10
-           -- bench "unsafe" $ whnf (insertSAUnsafe 5 10) sa10
+           bench "prim"   $ whnf (insertSA 5 10)       sa10,
+           bench "slow"   $ whnf (insertSASlow 5 10)   sa10,
+           bench "unsafe" $ whnf (insertSAUnsafe 5 10) sa10
            ],
         bgroup "100" [
-           bench "prim"   $ whnf (insertSA 50 10)     sa100,
-           bench "slow"   $ whnf (insertSASlow 50 10) sa100
-           -- bench "unsafe" $ whnf (insertSAUnsafe 50 10) sa10
+           bench "prim"   $ whnf (insertSA 50 10)       sa100,
+           bench "slow"   $ whnf (insertSASlow 50 10)   sa100,
+           bench "unsafe" $ whnf (insertSAUnsafe 50 10) sa100
            ],
         bgroup "1000" [
-           bench "prim"   $ whnf (insertSA 500 10)     sa1000,
-           bench "slow"   $ whnf (insertSASlow 500 10) sa1000
-           -- bench "unsafe" $ whnf (insertSAUnsafe 500 10) sa10
+           bench "prim"   $ whnf (insertSA 500 10)       sa1000,
+           bench "slow"   $ whnf (insertSASlow 500 10)   sa1000,
+           bench "unsafe" $ whnf (insertSAUnsafe 500 10) sa1000
            ]
         ]
      ],
@@ -174,28 +174,28 @@
      bgroup "SmallArray" [
         bgroup "2" [
            bench "prim"   $ whnf (deleteSA 0)       sa2,
-           bench "slow"   $ whnf (deleteSASlow 0)   sa2
-           -- bench "unsafe" $ whnf (deleteSAUnsafe 5) sa10
+           bench "slow"   $ whnf (deleteSASlow 0)   sa2,
+           bench "unsafe" $ whnf (deleteSAUnsafe 0) sa10
            ],
         bgroup "5" [
            bench "prim"   $ whnf (deleteSA 2)       sa5,
-           bench "slow"   $ whnf (deleteSASlow 2)   sa5
-           -- bench "unsafe" $ whnf (deleteSAUnsafe 5) sa10
+           bench "slow"   $ whnf (deleteSASlow 2)   sa5,
+           bench "unsafe" $ whnf (deleteSAUnsafe 2) sa5
            ],
         bgroup "10" [
            bench "prim"   $ whnf (deleteSA 5)       sa10,
-           bench "slow"   $ whnf (deleteSASlow 5)   sa10
-           -- bench "unsafe" $ whnf (deleteSAUnsafe 5) sa10
+           bench "slow"   $ whnf (deleteSASlow 5)   sa10,
+           bench "unsafe" $ whnf (deleteSAUnsafe 5) sa10
            ],
         bgroup "100" [
            bench "prim"   $ whnf (deleteSA 50)     sa100,
-           bench "slow"   $ whnf (deleteSASlow 50) sa100
-           -- bench "unsafe" $ whnf (deleteSAUnsafe 50) sa10
+           bench "slow"   $ whnf (deleteSASlow 50) sa100,
+           bench "unsafe" $ whnf (deleteSAUnsafe 50) sa100
            ],
         bgroup "1000" [
-           bench "prim"   $ whnf (deleteSA 500)     sa1000,
-           bench "slow"   $ whnf (deleteSASlow 500) sa1000
-           -- bench "unsafe" $ whnf (deleteSAUnsafe 500) sa10
+           bench "prim"   $ whnf (deleteSA 500)       sa1000,
+           bench "slow"   $ whnf (deleteSASlow 500)   sa1000,
+           bench "unsafe" $ whnf (deleteSAUnsafe 500) sa1000
            ]
         ]
      ]
