In the meantime I've also come to the conclusion that using something like flexi-streams is more practical than setting a single external format for a stream. If usocket supports octets as element type, it's not even really necessary to integrate flexi-streams into the library itself, people can just wrap the socket stream when they want to.
That's right. This makes me wonder whether we need to support character streams at all, or that we expect our users to use flexi-streams if they want anything but octet streams: for example the http pipe-lining protocol treats the connection as ascii/character stream for the header and octets for the body of the request, but given there may be several requests, it alternatingly treats connections as octets and characters. No lisp implementation - I know of - supports bivalent streams out-of-the-box, so something like flexi-streams will always be required, right?
bye,
Erik.