Perhaps more importantly, when you package things in your code, the packaging should reflect well-formed concepts. That is, the packages should have high cohesion and clear meaning. Arbitrary collection of code fragments into macros fights the way the human mind functions.