The difference is that in the other two languages you can't trust a dtor to be called, so we force the `bool` to be passed on the `close` method. But in C++ having to actually worry about what will be passed on close defeats the purpose of the dtor (assuming there is one).