I am not say it is hard. But I find having a .c/.h pair more useful and easier to work with.
No lol
Because looking up a macro name for each library is easier than adding a c file to your makefile? You could still always do
#include "impl.c"
#define XZUGG_IMPL #include "impl.h"