> C++ 17 is still a mess.

No, it is not.

> proper package manager, modules

That's an OS usability issue, not a language problem. Personally, Nix solved this for me.

> type constraints

C++ has type constraints, and ones that actually work. I suspect what you call 'type constraints' is something that can't exist if you understand the difference between 'run-time' and 'compile-time'.

> sane lookup rules for function calls

A very minor issue. If you don't like function overloads, then don't use them.

> thread safety, a proper monastic future type

Please no. The kind of 'thread safety' you want destroys the benefit of using threads in the first place. C++ threading is perfect as it is.

> Also most people won’t see C++ 17 or 14 for another decade.

Frankly, I don't care about these twisted people stuck in enterprise hell.