Replacing code repitition for execution policy dispatch with a macro *shiver*