Here is a link with the details:
My conclusion from this thread is that we MUST purge darcs of all uses
of Data.ByteString.Internal. Working with BS internals is apparently so
much more hazardous than any mere low-level raw pointer programming that
I don't trust anybody besides Mr. Duncat Coutts himself and a few select
experts to get this right.
The issue with my refactored linesPS has been cleared up thanks to
Betram Felgenhauer who showed that betweenLinesPS (which calls linesPS)
makes invalid assumptions about the way the ForeignPtrs inside a
ByteString are allocated. In particular, empty ByteString can be
represented as a NULL pointer. I have a fix for this particular abuse of
ByteString internals in petto.
We still have to see to the other places where we access ByteString
internals. This should be a priority before we make a new release.