Add SmartPtrType trait