I noticed that some methods are OK with 0 or more arguments, while
others require 1 or more.  For example,

ary1 = [1,2,3]
ary2 = []

ary1.unshift(*ary2) # => ArgumentError, wrong number of arguments (at
least 1)

--------------

files = []
File.delete(*files) # => 0  (no error)

I personally like File's approach, but perhaps there is a reason for the
inconsistency.  Can anyone explain the reason for these two types of
behavior?  Any suggestions on when to require at least one argument, and
when to allow for 0 arguments?

Thanks,
-Brad