AR overzealous type conversion

Here's an ActiveRecord oddity. If I call WebPageCache.create(:key => [1, 2, 3]), AR appears to store a key of [1,2,3].to_yaml even though I have not specified 'serialize :key'. Is this documented? If not, it feels like a bug: ======== schema:   create_table "web_page_caches", :force => true do |t|     t.string "key"     t.binary "value", :limit => 16777215     t.datetime "expiration"     t.datetime "created_at"     t.datetime "updated_at"   end ======== model: class WebPageCache < ActiveRecord::Base end ======== results:

WebPageCache.create(:key=>[1, 2, 3])

=> #<WebPageCache id: 297, key: [1, 2, 3], value: nil, expiration: nil, created_at: "2010-05-08 03:46:04", updated_at: "2010-05-08 03:46:04">

WebPageCache.count

=> 1

WebPageCache.first

=> #<WebPageCache id: 297, key: "--- \n- 1\n- 2\n- 3\n", value: nil, expiration: nil, created_at: "2010-05-08 03:46:04", updated_at: "2010-05-08 03:46:04"> WebPageCache.serialized_attributes => {}