Subtle bug in Data.ByteString and/or GHC (perhaps)