Well, Here is the other solution, phisical inclusion in pdf-list.h.
The pdf.h generated seems ok, and we need not to tell Makefile
about it.
With that solution we would need to manually update pdf-list.h if
there is an improvement or a bugfix in the list module in
gnulib. In addition pdf-list.h becomes complicated and difficult to
maintain.
The solution involving a void pointer to hide the implementation
details and thus the gl_list headers, seems to be a lot
simpler. pdf-list.h would remain simple and no modification in the
pdf.h generation is needed.
If you dont see any problem with the generic pointer mechanism I would
say to go ahead and implement it.
PD: in my proposal I used a struct containing a pointer (and not to
directly typedef void* to pdf_list_t) because it is more general
and would allow us to add more data members if needed in the
future.