The goal was to pass only one arg to bless when @_ is empty.
In this case, $_[0] will be undef, and bless will give a warning that it is treated as an empty string and another warning that blessing to an empty string is treated as blessing into package "main" (whereas 1-arg bless would bless into the current package). Obviously there are ways to make it work; my point was just that a (to me, pointless) prototype interferes with one of the easiest.