Yes, I am proposing to make 'auto x{1};' ill formed because such form is ambiguous depending on how many elements you pass in braced init list (and it differs in C++11).
Fixing the fall-out is trivial (either use 'auto x = 1;' or 'std::initializer_list x = { 1 };') and compatible with C++17.
Isn't simplification of initialization rules a good enough argument?
Aah, I forgot to write, I propose to unify direct-init and copy-init as well:
T a = b;
T a(b);
In C++17 these will do exactly the same thing (minus explicit constructor).