acho meio chata e sem sentido essa separação bibliotecas entre headers e implementação, se vc tá desenvolvendo algo com aquela lib obviamente vai precisar da implementação, e se tem algum programa que vc use que precisa da implementação, ter os headers "entulhando" não fazem diferença nenhuma no armazenamento já que são pacotes minúsculos.
o que torna as vezes a instalação de bibliotecas um saco.
fui compilar no mint um joguinho que "eu fiz", e a parte mais difícil foi digitar o comando para instalar as libs pq sempre faltava uma coisa ou outra.