2to3 and unittest have likely done untold wonders in keeping together the families of library authors porting from Python 2 to Python 3, taking care of the low-hanging fruit and leaving the most insidious and therefore fun bugs to root out. The biggest category of these would be Unicode, and out of that category, the biggest subcategory would be relying on some quirk of representing textual data in bytes when it should have been Unicode all along.
But then there’s this: What if you need to represent bytes? Take hashlib, which will flat-out refuse to consume a Unicode string. There’s a byte literal in Python 3, but is there a way to get there from 2to3 and Python 2?
Jump.