goLen1 _ bs Empty = bs
-So, that keeps the original strict bytestring, not copying it. And so
-the rest of it, after the NULL, remains allocated!
-
-This is surprising behavior. Could even be a bug. L.toStrict does
-say that it copies all the data, but not that it pins data that is not
-even part of the input bytestring as far as the user is concerned.
-
-So that explains the PINNED memory use.
+That keeps the original strict bytestring, not copying it. And so
+the rest of it, after the NULL, remains allocated for as long as the result
+is in use.
-So, I think git-annex needs to stop using L.toStrict here
-(and probably everywhere involving streaming any amount of data),
-there are some other ones.
+Hmm, this doesn't explain the memory leak (throwing in a S.copy didn't fix
+it either) or why profiling doesn't show the full memory use, but it does
- explain the PINNED memory use, probably.
++start to explain the PINNED memory use.
"""]]