Excellent discussion of translation units, definition order, and the design tradeoffs in C++ language proposals: https://cor3ntin.github.io/posts/translation_units/