If we must, I can add it back in, but my last point would be that __del__ seems more like an implementation detail than part of the public interface. It's there to support languages without dtors only, so it seems to me that removing it from the C++ code would not break the rule of following the interface from java/python.