@jbusecke and I were discussing API for reorganizing levels of a tree.
For example, say I have 2 models, each which ran 2 scenarios. Thats 4 data-containing leaves in my tree, but there are 2 equally-valid ways to organise this, either model-first or scenario-first.
The model-first tree has node paths:
/mod1/scen1
/mod2/scen1
/mod1/scen2
/mod2/scen2
whilst the scenario-first tree has node paths:
/scen1/mod1
/scen2/mod1
/scen1/mod2
/scen2/mod2
Either of these is equally valid, and one might be preferred sometimes over the other, so we should have a method than can rearrange one structure into the other.
The question is what the API to do this should look like so that it's general, intuitive, and powerful.