if you expect the data to be indexed by id (which is a sensible choice), it should be documented here to require it from implementors