So why doesn't `Texture2D::initWithString` access `const std::string&`?