Make entity retrieval options selectable
Currently we simply make a choice what is requested from the database per entity. Maybe it would be better if we allowed, in a convenient way, to select what to query from each entity.
Also if we are already at it one thing that we might consider is changing the entity types fundamentally. Instead of having a struct full of Option<something>
we might consider the possibility of changing to an API where the selection of properties already determines whether something must be present (or else an error will be returned at the relevant step) or whether it can be present. This could be combined with an enum corresponding to the fields to provide again the current type safety of specifying an entity.
Proposal: Try this out for a single entity first in a new module, and then check how useful this is.