I would be interested too but I think there is no answer. It is incorrect. P3 corrects a lot of things from P2. I doubt you could support "poorly designed" unless you are talking about Python as a whole.
* significantly increases the memory footprint as every character requires 2-4 bytes to encode.
* does not provide 1-to-1 correspondence with certain Asian encodings.
* creates an impedance mismatch between Python and byte-oriented filesystem/internet protocols.
Personally, I believe total Unicodification in Py3 was worthwhile, but from some perspective, it could be seen as a regression.
That said, I'd love to hear what specifically in Py3 could cause such a burst of hate.
As an added bonus, the name 'bytes' makes it very clear, that you're dealing with raw data.
Strings have become a data-type solely for human-readable text. For these, it makes perfect sense to only support unicode.