Because it's complicated and largely unnecessary. Emacs already has concurrency (make-<network>-process), what it lacks is multiple Emacs Lisp stacks. But the reality is that having two threads of execution running Lisp is not going to solve any of your performance problems, and it adds a ton of complexity to the rest of Emacs. If you want to do something in the background, fork and talk to it over a pipe. That's concurrent, easy to reason about, and has existed in Emacs for decades.