During the language design process, I did look at existing practices that achieved the same results as 'abstract'. Creating a private virtual destructor is one way to force someone to extend a class....