例えば次のような配列があり

a = [{a: 1, b: 2}, {a: 1, b: 3}]

これを以下のようにブロックを使ったuniqメソッドで
統合した時に先頭の要素が残るのですが、

a.uniq{|i| i.values_at(:a)}
# => {a: 1, b: 2}

このように「先頭に近い要素が残る」という動作は保証されていますか?

ドキュメントを確認してみたのですが、明確な記述が見つけられませんでした。
http://ruby-doc.org/core-2.2.0/Array.html