> We can't depend on `id` being the property name that guarantees the model has been saved.

How comes that? Could you provide an example (scenario), when it does not work? Is there any other way how to detect that a model has been saved?

BTW my understanding is that LB Models are hard-coded to use `id`, e.g. for the purpose of REST routing - see [loopback/models/model.js](https://github.com/strongloop/loopback/blob/fcc4bba82dba3af563afbcbc36af870afdd21aff/lib/models/model.js#L100) and [loopback-datasource-juggler/lib/dao.js](https://github.com/strongloop/loopback-datasource-juggler/blob/master/lib/dao.js).