Don't C++ designated initializers require you to initialize in struct order? That makes them kind of annoying to use.