alias somefunction {
params -qt45 $1-
if (%a) { }
if (%b == value || %c != value) {
if (%d) { }
if (%e) { if (%f) { } | elseif (%g) { } | else { }
}
etc
}
Yeah, true, have to check the variables.. But you wouldn't have to parse them, which is the point of it anyway. To parse each variable and then perform your functions/commands.
The whole idea is to split the values for you so that you can get right to the point of the script instead of spending a few to several lines parsing the switches first.
And bad command design would be forcing a strict method of using an alias where the switches should be optional or flexible. This would provide that flexibility.