Thinking about it some more, I think that it would help to talk about traps as interrupts or events. That works well with thinking about macros as functions as traps essentially fire of interrupt handlers which are macros.