Dybvig's extend-syntax is a natural for your problem: (extend-syntax (set) ( (set x y) (set! x y) )) -- David