Doesn't `readline` always return a `ByteString`?