Is there a way of improving responsiveness of rep_cin without wait with no arguments?

Recently, thought off several improvement to rep_cin. The one thing that bothers me is tradeoff between the two:

Option one: wait with numerical argument
Option two: wait with no numerical argument.

Option one tells you where the cursor is.
Option two is way more responsive, but does not tell you where the cursor is.

And I’m sure there is a way to parallelize the cursor part, and the typing part. One thread takes care of the cursor position and writing, and the other display the cursor. I just don’t know how to do that.

So, my question is, can you run two different do while on 2 threads?

Maybe that’s why mutex existed before. Also, I think I realized that interactive window may benefit from one logic side taken care of and displaying on the parallel as well.

EDIT:
I think this may be a way to enable doing what I’d like:

foo_test:
2,1,1,1,x s x
apply_parallel[-2,-1] "__foo_test"
e $__v
__foo_test:
____foo_test_{i}
____foo_test_0:
e 0 __v=1
____foo_test_1:
e 1

However, I don’t think I can access window alongside different thread, so maybe not.

EDIT: I made a compromise fix to my code at least. By adding a scratchpad to refresh as you move mouse, and you can still hold shift to do the same.