[`writeBlocksRaw`](https://github.com/haskell/text/blob/3f2a71bb1dad5fd8a64f3743b58d765d985723e2/src/Data/Text/IO.hs#L255) uses the same bounds check as [`writeBlocksCRLF`](https://github.com/haskell/text/blob/3f2a71bb1dad5fd8a64f3743b58d765d985723e2/src/Data/Text/IO.hs#L239). `writeBlocksRaw` will always only write one character while `writeBlocksCRLF` can write two. Seems like it should actually be ```haskell | n >= len -> commit n True{-needs flush-} False >>= outer s ```