is_callable smart_ptrs