Hello,
I've noticed that "extract" function is unsafe, and there is no mention in the documentation about this. This probably should be fixed. My (humble) opinion is that "extract" should be made safe, and new "unsafeExtract" should be added.
Examples:
ghci> let a = fromListUnboxed (ix2 4 4) [(1::Int)..16]
ghci> computeUnboxedS $ extract (ix2 2 2) (ix2 3 3) a
AUnboxed ((Z :. 3) :. 3) (fromList [11,12,13,15,16,139639468003248,139639468003248,2,3])
Nikolay.