macros

the only thing that caught me off guard here was the use of drop, but it
makes sense since we're recurring.