True, but in that case you typically don't have a good type in the array to begin with. It'll look something like this:
static void create (string coolness, mixed... args) { MyFoo::coolness = coolness; ::create (@args); }
And args is a boring array(mixed) with no nice type info. Here you'd like to somehow do:
static void create (string coolness, <insert type of inherited create args> args) { MyFoo::coolness = coolness; ::create (@args); }
But since that isn't possible your only choice if you want to retain good typing is to repeat all the args of the overridden create.