I think this is undefined behavior.. tolower requires 'unsigned' input. ``` boost\algorithm\string\detail\case_conv.hpp: return std::tolower<CharT>( Ch, *m_Loc ); std::string s(5, -5); // 5x char(-5) boost::to_lower(s); ```