Add better checking to macros. Make clearer their intention.