The bigger issue was that the compiler will warn about missing initializers for members that aren't listed explicitly, which means I'll usually have to supply all the members everywhere this is being used. One would think that having well-defined default values for all members make these initializers unnecessary, but nope.
Yeah, that is pretty annoying. We have that problem in KWin too... Let's maybe revisit this if the compilers ever get fixed to be better about this.