Write implementations of shrink for BP types
Non-thread-safe duplicate detection for ByteString

This has a nice small amount of overhead.
Unacceptably slow thread-safe duplicate write detection

The atomic increments slow down the code by horrifying amounts (a
factor of 2 or so for the takeWhile benchmark, for instance).
Back out the atomic increment change

The cost is simply not worth it, especially to defend against a
particularly esoteric instance of something a programmer should
never even be doing in the first place.
Extend bytestring buffer docs
Detection of repeated appends for Buffer
Add a pappend function that does a little less wrapping
Fuse endOfChunk and wantInput into inputSpansChunks
Implement pappend for Text
Implement inputSpansChunks for Text
Simplify RFC2616
Drop some unnecessary constraints
Hide the internal state type parameter

I'm finally making a tiny bit of progress in my understanding of
type families.  This makes me happy.