This does the Wrong Thing if val is python3 bytes.
This is the blocking issue.