I'm in favor of asserting that body is a `str`. A unicode string (or anything else) shouldn't be passes in, and ultimately this *needs* to be some bytes. Additional assertions higher up might make sense for specific cases, but at the very least this method should have a decent error message if something else gets through.