I thought it'd be good to make these functions asynchronous so that developers could add virtually anything they wanted in there, but it's coming at the cost of quite a lot of performance. Having to force the JS engine to constantly context switch between the various promises had a lot of overhead, and as such slows down processing significantly.
If I do force them to be synchronous, then particularly for the fragmentResolver function, it would no longer on par with what the original Thymeleaf allows for fragment resolution 🤔