I was able to drop 111 unused source file from the build without modifying any sources. The bulk of these are .c files, as the header are directly included in bulk from the unit test drivers. If I dropped or modified the test drivers we could probably drop at least another 100 .h files. But with the source file removed the headers are not of much consequence unless compiling the tests, since these extras aren't referenced otherwise. So I'm opting for non-modification over compactness, as that preserves upgrade simplicity.