this keeps us from having to utf8 decode unicode objects (into BoxedStrings) whenever we want to hash them.