これは仕様で「しよう」か?

いや、超くだらない洒落言ってる場合じゃないんだが、昨日Rubyで「あれっ???」って思ったこと。*1

$ irb --prompt simple
>> ary = []
=> []
>> h = {ary => 0}
=> {[]=>0}
>> ary << 1
=> [1]
>> h
=> {[1]=>0}
>> h[ary]
=> nil
>> h[[1]]
=> nil
>> h
=> {[1]=>0}

0 が取り出せない・・・(ToT)
ハッシュってキーの値が変更されると取り出せないのかなぁ?
リファレンスを見ると、eql?メソッドがハッシュのキーの同一性の比較に使われるらしい。で、Arrayのeql?メソッド見ると「各要素をそれぞれ順に Object#eql? で比較して、全要素が等しければ真を返します」とのこと。
・・・
「1.eql? 1」は true なんだけどなぁ・・・
私の感覚がおかしくて、この動きの方が正しいのかな?どうも理屈がわからない。う〜ん・・・。
ちなみに、昨日書いてたプログラムは2重配列+Array#assocメソッドで対処しました。

*1:WindowsDebian Linux 上の Ruby1.8.5 で確認済み