MyModel.descendants returns [] in a view after the first call?

Hello everyone!

During I probing Rails 3.1.rc1 noticed along the majors many little changes and deprecations. Most of them (changes and deprecations) easy fixable except ONE:

If we have:   Dog as ActiveRecord class

  puppy = Dog.new   puppy.new_record?     => true   dumped_puppy = Marshal.load(Marshal.dump(puppy))   dumped_puppy.new_record?     => false

  Why?