IOArray など用の (!) を実装するにはどうしたらいいでしょうか?
Hugs の Array のソースをたどると primitive 、GHC の場合にも
似たような怪しげなソースにたどり着いてこれをどう IOArray 用
に改造するべきか検討がつきません。

{-# INLINE unsafeAt #-}
unsafeAt :: Ix i => Array i e -> Int -> e
unsafeAt (Array _ _ arr#) (I# i#) =
     case indexArray# arr# i# of (# e #) -> e

-- 
shelarcy <shelarcy capella.freemail.ne.jp>
http://page.freett.com/shelarcy/