The issue is it remains non-concurrent and any code (macros, extensions, …) executes in place of the editor doing its thang, so any non-trivial operation (or trivial operation on an entire buffer) locks up the editor until it's done and does its thing.
And while it might technically be faster for the process, as is the case with e.g. STW GCs on large processes it 1. feels horrible and 2. as an editor is interactive it stops the user in their tracks and slows them down to hell