It seems like a number of methods have unexpected arities. For example, 
Array#[]

$ ruby -e "puts Array.method(:[]).arity; x = [1,2,3]; x[]"
-1
-e:1:in `[]': wrong number of arguments (0 for 1) (ArgumentError)
         from -e:1

RDoc for Array#[] seems to also show that at least one argument is required:

--------------------------------------------------------------- Array#[]
      array[index]                -> obj      or nil
      array[start, length]        -> an_array or nil
      array[range]                -> an_array or nil
      array.slice(index)          -> obj      or nil
      array.slice(start, length)  -> an_array or nil
      array.slice(range)          -> an_array or nil

I've been running into a number of these. We have been trying to get all 
methods and arities matching in JRuby, but these numbers don't seem to 
make sense. Should they be corrected in Ruby?

- Charlie