In the context of an EntityContainer, it is more difficult than necessary to include a service level property or set of properties.
For example, if we want to expose the service name as a simple string property in the entity container (i.e. as a Singleton).
We could add this to a Details entity type without a key, and then reference this via a Singleton. Then GET get <service>/details/name. It would be more natural to simply GET <service>/name. In another example, suppose we want to reuse this structure within other entity types. If Details is specified as a complex type, then the natural thing is to define a scalar property detail with type Details. However, if Details is an entity type, we instead use a scalar navigation property with attribute ContainsTarget=true and annotate with Core.AutoExpand to get the same behavior.