So, the only case it's allowed to have integers is if `isinstance(data, bytes)` right? Maybe just special case that condition outside the loop? `if isinstance(data, bytes) and PY3K: data = map(six.int2byte, data)`, something like that.