@@ -56,10 +56,10 @@ if (_k_) < 0 || (_k_) >= (_len_) then error ("Data.Text.Array." ++ (_func_) ++ "
5656#if defined(__GLASGOW_HASKELL__)
5757#include "MachDeps.h"
5858
59−import GHC.Base (ByteArray#, MutableByteArray#, Int(..), indexIntArray#,
60− indexWord16Array#, newByteArray#, readIntArray#,
61− readWord16Array#, unsafeCoerce#, writeIntArray#,
62− writeWord16Array#, (+#), (*#))
59+import GHC.Base (ByteArray#, MutableByteArray#, Int(..),
60+ indexWord16Array#, newByteArray#,
61+ readWord16Array#, unsafeCoerce#,
62+ writeWord16Array#, (*#))
6363import GHC.Prim (Int#)
6464import GHC.ST (ST(..), runST)
6565import GHC.Word (Word16(..))
@@ -78,7 +78,6 @@ import Hugs.ST (ST(..), runST)
7878
7979import Control.Exception (assert)
8080import Data.Typeable (Typeable1(..), Typeable2(..), TyCon, mkTyCon, mkTyConApp)
81−import Data.Word (Word16)
8281import Prelude hiding (length, read)
8382
8483#include "Typeable.h"
@@ -167,7 +166,7 @@ unsafeFreeze :: MArray s e -> ST s (Array e)
167166#if defined(__GLASGOW_HASKELL__)
168167
169168wORD16_SCALE :: Int# -> Int#
170−wORD16_SCALE n# = scale# *# n# where I# scale# = SIZEOF_WORD16
169+wORD16_SCALE n# = scale# *# n# where !(I# scale#) = SIZEOF_WORD16
171170
172171-- | Create an uninitialized mutable array.
173172unsafeNew :: forall s e. Elt e => Int -> ST s (MArray s e)