I guess most of the library were written for a specific situation at the first place.
Few years back when I was writing library for PIC microcontroller, the library always have options like:
- Hardware or software based peripheral
- Interrupt based or polling based
- Which pin to use
But this of course take quite a long time to come out with a solid group of library for all peripheral and interface.
IMHO, there should be like a framework or skeleton body how a library should be in order for everyone who wish to write libraries.