So are you really asking when we will get "threaded coroutines"? Well when one merges the task parallel library with the Async framework, you will never need to worry about over use again; just mutable data types.. but that's been solved as well in F#!?!