Note: it is not a cosmetic only change: the attribute does NOT exist in the class in the non Python version, the sizeof(shared_ref) is different.

The ```using``` has no semantic difference with a ```typedef```. It is just much more clean and then there is no reason not to use it everywhere you used to have a typedef (uniformity/harmonization...).

Herb Sutter wrote:

> Have you noticed that the C++ world is moving to a left-to-right declaration style everywhere, of the form
>     category name = type and/or initializer ;
>  where “category” can be auto or using?
http://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/

typedef are probably only useful to share headers with C code...