C++ also has ownership/borrowing system (i.e. smart pointers) now though too, right? I'm a fan of D but isn't the problem about 1) defaults (or even required behavior) and 2) existence of libraries following good paradigms more so than just support for static memory management?