@Lundin Love the way you refactored the code but wonder if that's always practical or even advisable. Can you say more about why you believe "creating function-like macros to replace chunks of code or program flow control is almost always bad practice"?