Should set_inverse_instance be called earlier in add_record_to_target_with_callbacks ?

Right now when you add a record to an association with << it first
saves the model, and THEN sets the inverse_of association afterward.

This is done inside add_record_to_target_with_callback inside
association_collection.rb.

Is there any reason set_inverse_instance isn't called before the save
of the model? We are referencing the parent in our save callbacks, so
we're getting the parent (because the id has already been set), but
we're pulling the stale model from the db, rather than getting the one
inverse_of sets.