Is there a reason all the methods in ValueTree::Listener are pure virtual? It would be nicer if I only needed to override the ones I need and didn't need to clutter up my class with the rest.
My motivation there was that if/when new methods were added, I wanted everyone to think about whether they need to add the new ones or not. Actually, now that the list of methods has been stable for a long time and unlikely to change, and also now that most people (I hope!) are using 'override', then it would be more OK to not make them pure.
But of course it's trivial to define your own intermediate class that implements them, and use that!