I stumbled across Narrative JavaScript this weekend.
NJS uses a compiler to generate asynchronous JavaScript from procedural JavaScript. You write simple code with local variables and blocking operations. NJS takes the simple code and spits out JavaScript with all the callbacks and asynchronous goo. It's like programming with continuations.
I wonder if Nikhil could add something like this to ScriptSharp.