Allow foreign imports to return ST actions
Some FFI usage is "pure" in the sense of ST, say you allocate some buffer (MutableByteArray# s
) and pass it to the C function. I cannot use
foreign import ccall "initMyStruct" c_initMyStruct :: MutableByteArray# s -> ST s ()
which is a pity.