Should we use .hasOwnProperty('id')? I don't really know if we have a coherent way to deal with the prototype chain anyway.