`findIncludes' function. The current implementation is impure and
therefore not correct: it gathers header file dependencies only once
for a specific path (due to caching).
explicitly. If you forget a dependency, it's simply not visible to
the compiler, and so the compilation fails. This is a big plus over
conventional Make.