I don't think we should escape here, `bytes` should be raw data.
And why remove the case for `string`?