* I think `args.pop` is a simpler way of returning (and removing) the last item, rather than `args.delete_at(-1)`.  Thoughts?
* I don't think this will work properly with the "symbols-as-metadata-keys-with-true-values" feature we support.  I think you're going to have to use `build_metadata_hash_from` to normalize it to a hash first.

...actually, I'm not sure about the last bullet point, now that I see that you're passing `args` and `combined_metadata` through...it'd be good to have a spec for the case at least.