ByteString zipped should better return a ByteArray because the zipped thing is all but a String (it is encoded...)
But if we do this then what happens to WideString zipped ??? what should it be ??? Are we sure that we can unzip it back to a WideString ?
My answer was that ByteString zipped -> ByteArray -> ByteString and WideString zipped -> ByteArray -> WideString, but it supposes that the zipped byte array has a length multiple of 4... Then I don't remember if it really works for WideString...
But String is just a facade, all the effective job is performed in ByteArray.