Why scoped_ptr dost provide custom deallocation?