granted, some of this can also be handled via extern C as well (so the tools can mostly ignore that they are interacting with C++), or via a C++ subset, but this has a few other issues (now it is more necessary to qualify which sets of features are supported, ...).