lib/cpp: Struct: pure virtual operator ::std::string, global operator<<
compiler: cpp: indent function declarations across multiple lines if
necessary
compiler: cpp: compound types: move operator<< to lib