> I don't think any of the remaining declarations in hex.h depend on the > ones that are moved to "hex-ll.h" so this include should probably be in > "hex.c" rather than "hex.h" The reason why hex-ll.h is included in hex.h isn't because there might be other declarations in hex.h that depend on it. It is for files that include hex.h to also inherit the inclusion of hex-ll.h. If we moved the inclusion of hex-ll.h to hex.c rather than hex.h, then those files would have to include both hex.h and hex-ll.h. It clarifies whether a file needs all of hex or just the low level functionality of hex.