hit a fundamental issue in std::string; documented it and stopped