Having larger compilation units (as opposed to spreading the same code over multiple smaller compilation units) has some advantages and disadvantages: