As I pursued for the Array#insert some time ago, I happened to find this
"feature":

  $ ruby -v -e'a=[1,2,3]; a[1,0]=a; p a;'
  ruby 1.6.2 (2000-10-16) [i686-linux]
  [1, 1, 1, 1, 1, 1]

I guess it's not as it should be. I'd expect [1, 1,2,3, 2,3].

I went on and fixed it. Then I thought that my hack to make 

  a = [1,2,3]
  p a.insert(-1, [4,5])

to output [1,2,3, [4,5]] instead of [1,2, [4,5], 3], which is produced by 

  a[-1,0]=[[4,5]]

should make it's way into Array#[]. So I changed [] to work like insert
does. Then I bumped into the problem. Backwards compatibility. I got scared.
Messing around with [] surely causes many programs to fail. Insert, however,
could work as seen fit as no one uses it yet (at least not too many).

So I'm asking:

1) Do you think we should change the way Array#[pos, len] version 
   works for next Ruby version?

    - remove surprising array[pos, 0] = [1,2,3] array flattening
    - change semantics for negative pos

2) Do you think Array#insert(pos, stuff) should work almost like 
   current Array#[pos, 0] = stuff except it doesn't autoflat?
   Or do you think negative pos too should be handled differently
   from Array#[pos,len]= ?

After some concensus on these issues we can discuss about matju's add-ons
[ruby-talk:5768], which follow the same theme.

	- Aleksi