This is a bit strange to me. It has been possible to write refcounted pointers in C++ since ages. And everybody has them in their own private library. Of Course, this introduces compatibility issues because everyone's smart pointer is different, so it is really nice that it eventually ended up in the standard library. However, it seems really hard to argue that it only now is possible to use smart points.