This might look like:
map.U.setStyle('mapbox://mapbox.blah', { discardRegex: 'mapbox://' })
Then:
- Fetch new style
- Find every source in current style whose URL doesn't match the discardRegex, add it to the new style
- Find every layer in current style belonging to a retained source, copy over`
Alternative:
map.U.checkpointStyle("beforeLoaded");
map.U.setStyle('mapbox://mapbox.blah', 'beforeLoaded`);
That is, define a name for this point in the style, and allow operations to diff between points.