in reply to Inter-package communication
That way, you could simply have all of your 'use' statements, but the actual loading would take place only when the modules were actually needed. Your code would thus be more maintainable, since every time you needed to add function calls, you wouldn't need to worry about "Is Alpha loaded in this case? Is Beta?". Plus, you might save some additional memory, since anything not used wouldn't be loaded at all.