Yet the amalgamation does not cause compilers to issue complaints about repeated definitions. In fact, it compiles cleanly to produce executable code which passes bazillions of tests. The amalgamation amalgamating process includes logic which is intended to avoid the problem you report. Could you please name a single identifier which is either declared repeatedly or defined repeatedly as a result of the problem? (I have had no luck finding any mention of "hw-time" or hw_time, even once.) Or, failing that, could you state the evidence upon which your claim rests?