As I work through making code use more C++ RAII and such, most
of the work is handling strings, especially temporaries. As member
variables which manage string memory get turned into `std::string`,
some use cases might wind up leaking memory. (One was found in
this change.)
By using a non-convertible-to-string result, such accidents should
be avoided.
Much of the code is now building in C++, and I'm using C++23.
A spot test seems to work. Now I can start to debride all the
painful memory management quirks...