It's by now a bit too many arguments related to commit options imho.
But I guess asking; if we really need them all, and if we do if we could combine (some) of them into one multi type argument; is not really worth it by now.