checkpoint work towards unifying the binding type for classes and smart pointers.