head should be std::forward-ed here to forward the passing method to addArg. Note that this doesn't really matter in this case since all addArg functions receive their param by value but it still prevents errors when a new addArg function will be later added.