I agree with all but small comment on unit tests : current approach makes it really easy to start adding tests for projects that do not have them and this is huge. So having "unittest" blocks themselves is really a success feature. Tightly coupling handling of this blocks to compiler is an issue though.