CIntはIxクラスのインスタンスでないのでArrayのインデックスに使えません.
ArrayのインデックスとしてCIntを使うには,プログラムのどこかで
instance Ix CInt where range (m,n) = [m..n] inRange (m,n) i = m <= i && i <= n index b@(m,n) i | inRange b i = fromIntegral (i - m) | otherwise = error "Ix.index: Index out of range."
としておきましょう.