Why doesn't pop just pop *and* return the value here? You can use the coma operator in the macro. :)