Uniform initialization was supposed to make initialization uniform, right? But two competing factions on the committee wanted the same syntax to do incompatible things, so we got a botched compromise instead of a proper technical solution. Concepts have been in incubation forever, so hopefully a lesson was learned and they did it right. However, I will wait and see how the feature works in practice once there is more field experience. Not gonna get my hopes up, and I remain open to migrating my code away from C++ to a less crufty and terrible language.