Thus far, everyone I've taught Clojure concepts to really appreciates the functional bend of the language, immutable values, and of course the elegant sequence/collection abstractions/persistant data structures that Clojure provides. But semantics are almost never a convincing argument (for most for programmers I know) for spending the time to pick up another language.
What really pushes people over the edge in my experience from thinking of Clojure as "just another Lisp" or a parentheses laden toy, are the amazing concurrency primitives that Clojure provides out of the box. Once my colleagues realize how trivial (and fun!) both concurrent and parallel computation becomes with Clojure, they're hooked and want to dive in.
The talk you gave is probably the most concise manifesto I've yet to come across of just how much better Clojure's semantics are for, well, pretty much any complex problem I can think of. You did an absolutely fantastic job with your assemblage of example functions which definitely shows off the language.
But I know that if I want to convince the company I work at to adopt ClojureScript as a JS replacement for our client side applications, an argument for superior semantics is almost never going to get very far.
Clojure (in combination with libraries like Incanter, JVM interop, etc.) allows me to completely replace R & Python for both exploratory data analysis, machine learning, and building a powerful backend for any distributed application with a double whammy of awesome - I get a much better language for expressing a lot of ideas AND it's fast as hell. I can scale my Clojure code to a cluster of CPUs for training some model without a second thought. I can write really powerful software and never feel limited in what I can accomplish and in the end, project managers/execs just can't argue. Simply nothing else exists in this class with this combination of agility, functional elegance, and "enterprise" class power.
Okay, this comment began as a thank you for making a great appeal for ClojureScript and has unexpectedly turned into... I'm not even sure.
So, TLDR? We need a killer feature that goes beyond semantics for ClojureScript that fixes something broken and practical in JavaScript. Is this a seamless and powerful Web Workers VM or abstraction that just works? Is it a mature core.async in tandem with full featured promises? Is it a new core lib that makes having to think about client/server interaction a problem of the past? I just don't know.