Can we agree that the new "best default" way of instantiating is... pretty damn weird?
auto foo = std::make_unique<Foo>(args);
Think about explaining this to a new C++ developer.This will feel much more natural to most developers:
var foo = new Foo(args);