question about ActiveRecord::Base.reset_subclasses

Which is the purpose of the loops (wrapped to avoid word wrapping)

   klass.instance_variables.each { |var|
     klass.send(:remove_instance_variable, var)
   }
   klass.instance_methods(false).each { |m|
     klass.send :undef_method, m
   }

in ActiveRecord::Base.reset_subclasses? Why is not enough to remove_const reloadable subclasses?

-- fxn