This allows passing the state thread used to initialize the ByteString’s pointer to the functions that access that pointer. As a result, deferForeignPtrAvailability can be removed, and most or all uses of accursedUnutterablePerformIO can be replaced with a safer function that takes a State# RealWorld argument.
This allows passing the state thread used to initialize the ByteString’s pointer to the functions that access that pointer. As a result,
deferForeignPtrAvailabilitycan be removed, and most or all uses ofaccursedUnutterablePerformIOcan be replaced with a safer function that takes aState# RealWorldargument.