Since we found by id from `this[fk]` on ~line 974, we should expect that the found inst.id matches `this[fk]` when `this` is current object instance.

The is no guarantee that `inst[fk]` is not null, and no reasonable reason to suppose it would match `this.id`. The old code worked in most cases because most of the time `inst[fk]` and `this.id` would both be `undefined`. Models would need to have different relationships named the same thing or be self-related for the bug to become apparent.