@regehr I've seen this pattern a lot and where it strikes me as wrong is that, if you're copying a lot of discrete inputs as initializers for members of an object, they probably shouldn't actually be discrete but represented by some type that can be passed around and copied as a unit if needed, and the class should just have one member encapsulating them all rather than N discrete members.
I'm not sure if that applies here, just a general thing I've seen that looks similar.