The ability to set! arbitrary module top-level variables from outside the module, using the syntax (set! (@@ MOD NAME) EXP), destroys our ability to several important optimizations.
As long as such ability exists, we must pessimistically assume that any module top-level variable might change at any time, which means, for example, that we cannot inline top-level procedure applications from within the module itself. This could be a HUGE efficiency win in the common case where such top-level procedures are never set! from within the module. Now that we have proper hygienic macros, is this functionality still required? If we're going to remove it, pre-2.0 seems like a good time to do so. We won't get another opportunity for several years. Mark