For sequences are "server on add" and "nothing on save". So in that case the where is server, but it happens at add time and there are no surrogates. We really do want to know what to do on add and what to do on save. If you look at how we use the values it works out this way too--the value generators are all about what we do on add and only use that enum, and the update pipeline is all about what we do on save and only uses that enum. To make certain patterns work you set combinations of the two enums, and we should have higher-level API (fluent and attributes) that allow this. But I think the two enums we have work well for what needs to be recorded and how it needs to be used.