In mine, to which I've done very little modification, there are 177 symbolic links. And, I confess, I have made a symlink that points to the one appropriate to the KDE version I hope to be running. Change it and the whole chain collapses. More than that, it would not be impossible to produce new versions that are backward compatible, in which case they should carry the same name and programmers should write to them directly, and not to the cloud of symlinks surrounding them like publicists around a rock star. Dates have been very effective for many years in determining the relative age of two similar things.
Headers are in as sorry a condition as libraries are.
If you put new code into the space previously occupied by something else, and that something else was linked way up among the headers, things are not working as they ought to work, and sooner or later unexpected behavior and instability will result. It falls upon the appropriate installation routine to put not a symlink but the actual headers themselves where they ought to go. This is not a difficult notion. No doubt back when the symlink idea was dreamt up for cases like this, storage was at a premium. It isn't anymore, and hasn't been for years.