1. Isolates can only communicate with each other using asynchronous method calls. So even though you can move some work to another isolate, you can't block waiting for it to complete, so your function still has to be red.
2. Isolates are very limited in what you can send between them, which makes then not very useful in practice for much of anything.
For me the bad part of "red" functions is that testing is harder for it or I just suck at it.