Just to play the devil's advocate: it is dangerous to eliminate the module load on the grounds of purity at compile time, as under separate compilation the module on your runtime classpath might have been edited to have a side-effecting constructor.