On the contrary, these are introducing new control structures, which is am extremely legitimate use of a macro. Indeed, the presence of the macro should alert the reader that control may behave a little differently here. That these do so by introducing just a thunk is an artifact of how much the underlying functional primitive does - not the macro's "fault".
-- Pardon terseness and mistakes -- sent from phone.
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users