Headers should be associated with the RTS, and subject to less hacks.
The most subtle issue was that the package-grained dependencies on
generated files were being
needed before calculating Haskell deps, but
not before calculating C/C++ deps.
The other tricky thing is the hoops needed for genapply's weirdness, but that is at least easier to document in the code, as has been done.