Use aggregate initialization instead of constructors
C++ now supports aggregate initialization for structs that derive from other classes. In particular in combination with designated initializers, leveraging this feature would allow to avoid writing "trivial" constructors and naming the target member at the callsite.