I know that we want to get compiletime down, and I know that more includes in headers mean more compilation. But this is poisoning our code imo... There will well be places where we can remove includes at this point without... hacking. And at some point we have to accept longer compile time, whereas really long recompiles will only take place when you switch branches (as you normally will develop in cpps and not in headers) Linux has ccache to obsolete git-branch-switch-recompiles