`Bytes` and `mkBytes` needs to be reconsidered
Ryan alerted me to the dubious nature of
Bytes contains a
ForeignPtr. If someone makes this
ForeignPtr in another package then when the user tries to run the splice in their program, surely they will dereference this pointer and it will point to nothing?
The intention behind the API is that the
ForeignPtr is created in the same splice (on the host) as the
Bytes value but this is not enforced in anyway.
To do this, probably a new effect should be added to
Q rather than this stuff with directly manipulating a
It also has to be considered how to make
Bytes work with
Lift. The current instance is wrong for the same reason.