indexWord32OffAddr# and indexWord8ArrayAsWord32# have a unchecked exception warning. But what it is?
E.g.
{-|
__/Warning:/__ this can fail with an unchecked exception.-}
readWord32OffAddr# :: Addr# -> Int# -> State# s -> (# State# s,Word32# #)
readWord32OffAddr# = readWord32OffAddr#
{-|Read a 64-bit unsigned integer; offset in bytes.
__/Warning:/__ this can fail with an unchecked exception.-}
indexWord8ArrayAsWord64# :: ByteArray# -> Int# -> Word64#
indexWord8ArrayAsWord64# = indexWord8ArrayAsWord64#
But when the exception is thrown? Is there a bounds check? Is it alignment issue? Is it only an alignment issue, there is no bounds check?
The docs are probably vague on purpose, but they are too vague.
Also readWord32OffAddr#
etc docs should mention whether the offset/index is in bytes or in elements