-- | Zero-copy access to raw bytes for an address.
withBytesIO :: VSpace -> Address -> (Ptr Word8 -> Int -> IO a) -> IO a
withBytesIO vc addr action =
    withAddrValIO vc addr $ \ v ->
    action (mv_data v) (fromIntegral (mv_size v))
withBytesIO :: VSpace -> Address -> (Ptr Word8 -> Int -> IO a) -> IO a
withBytesIO vc addr action =
    withAddrValIO vc addr $ \ v ->
    action (mv_data v) (fromIntegral (mv_size v))
withBytesIO vc addr action =
    withAddrValIO vc addr $ \ v ->
    action (mv_data v) (fromIntegral (mv_size v))