To me, the damning thing is that so many people distribute “header-only libraries”. My experience is that this makes the library worse in many different ways, except one—linking is easier. Developers are so annoyed with dependencies that this is the result. There are much better solutions than just shoving everything in a header.