Non-blocking recursive step parallelization
If some models in the recursive step require re-sampling it takes time and currently blocks other models from proceeding with recursive discovery of further projections. One way to go about it would be to queue up the models that need re-sampling and let them asynchronously sample, while the next projection that did not require re-sampling is recursively processed.