I'd contacted with the designers and these are the answers:
"It's too low-level for languages like CoffeeScript. It works best for languages at a lower level of abstraction like C or C++. Implementing CS at this level would require writing your own garbage collector and JavaScript runtime. Which would be pretty silly since you're implementing on top of JavaScript, which already provides those things.
That said, we intend for asm.js to grow to support higher-level constructs like garbage-collected data, making it suitable for mid-level (but still statically typed) languages like Java and C#. But it would probably still end up being pretty silly to implement a language like CoffeeScript -- which maps directly onto JS -- this way. You'd almost certainly get worse performance than the existing CoffeeScript compiler produces."
Then it would be awesome that it could be suitable for languages Go and Rust.
"The sticking point there is concurrency. But it's definitely worth exploring."