Right. But that's the point. What hygenic macros are(to me) a way of creating domain specific languages based on C. This can, when used badly, lead to unmaintainable software. You're exactly right. At the same time as Russ said it can abstract a complex and opaque computation and clarify its intention. To bring the subject of macros back to the subject of Plan 9, I made the initial comment thinking about a way to make the shell less dangerous when it expands metacharacters(in other words, protect me from myself). It's only an intuition, and I wanted to see what everyone thought of it. Noah