I think we should really fix these issues, working separate compilation is very important.
No, it's not. Separate compilation is C++-ishly slow by design (b/c all dependencies get imported over and over again, just like headers). We should endorse compiling small (rather independent) packages to static/shared libraries.