I am evaluating options for a scripting language to embed at my company.

We mostly make indie games, and we use managed frameworks (Unity and XNA). This means that we need a solution that works with both Mono and .Net, and we'd rather avoid stuff that is too slow.

The possibilities we are considering are the following:

1. python
2. lua
3. F#

The features we require are:

1. continuations/coroutines
2. decent performance
3. integration with Mono and .Net (compatible type systems)
4. [optional]. ease of extensibility to add new combinators such as multithreaded coroutines
5. [optional]. easy bindings

I know for certain that I can achieve all requirements in F# with a custom-built monad (I have several working prototypes which are ending in a few products) but I would gladly jump to another solution if it is proven to be better!