Use vararg macros for block arguments

Otherwise, any commas _within_ the blocks will splice the argument
list, causing confusing errors.
Merge pull request #150 from github/upstream-vararg-macros

Use vararg macros for block arguments