macros stop using parent.frame
Extracting promises
unpack dots substitutes empty promise for missing arg;

fixes #28 (sort of).