I don't want 2 ropes. (CompoundBytes AND ByteStrings)

>If we want to have only one kind of combination we cannot keep ByteString.++ which returns a ByteString but would have to change it >to return CompoundBytes (which is one of the points I meant with "far reaching consequences").

Of course we can, ++ returns Bytes, ByteString overloads it to return ByteString, which is fine, since ByteString IS-A Bytes.

>We'd still need some way to iterate over the compact parts of a CompoundBytes instance in the TcpConnection implementation (or any other implementation that wants to optimize FileBytes access.

What does the above mean concretely?