I realize C# or .NET and C++ are different things, but I do like how the .NET framework is laid out. That is why I like things to be part of classes and not broken out. It also makes me take distance from standard library functions that clearly does things in a bad in my eyes.
Yes, they're all respected, they've got loads of experience and what they say may be right. I do respect them, but I don't always agree with them.
I like .NET layout kind of way, but I don't .NET, so I'm mostly re-engineering C++ in my own way of end without breaking C++ concepts.
Perhaps it can be done, perhaps not, but I'm certainly not going to just give up.
Oh and about the virtual destructors thing... I'm just thinking "should" is too strong a word. It's not a requirement, it's good practice, therefore it is strongly recommended in my view. Not should and not must.