$record. For example, you could just do Post $post instead of Post $record. Whilst this was convenient, there are quite often situations where you think there should be a record, but there actually is not (e.g. in complex forms with relationships etc). In that case, returning Post $record would fail on that the argument definition does not allow null, prompting a change to ?Post $record. However, without the above change you linked, the Post $post would still return a Post model, but then an empty one that does not exist at all created by Laravel dependency injection. This causes then weird bugs in your code later one if you expect $post to be the current $record and it turns out to be just an empty unsaved model. Therefore, if the requested parameter is an Eloquent parameter that is not of the current record/model, this line has been added to prevent such unwanted empty model resolutions.