And we just assume the encoding is `urf-8` in the case of byte strings on Python?  Or use `sys.getdefaultencoding` and have it fail in some cases.  (Though more annoying, I'd actually lean toward the latter, as it's more self-consistent with Python and it will force users of this function to pass in Unicode when they should be).