Every ValueTree callback allocates/deallocates

I noticed that there is an allocation/deallocation each and every time a ValueTree callback is triggered - even a propertyChanged! The offending line: ValueTree.cpp:78:

auto listenersCopy = valueTreesWithListeners;

I would guess this is done in case a listener is removed during the callback - fair enough. But perhaps this is worth the tradeoff of avoiding reallocations (most of the time):

listenersCopy.addSet (valueTreesWithListeners);

SortedSet<ValueTree*> valueTreesWithListeners, listenersCopy; // line 571, add this member