anchor.diff:  Let's make a mistake. Try evaluating `(ffirst [1])`. You should get a
   source mapped stack trace pointing at ClojureScript source locations not
   JavaScript ones. This makes debugging a lot nicer.
  +
  +You can easily explore the options provided by the ClojureScript compiler
  +by using `-h` or `--help`:
  +
  +[source,bash]
  +----
  +clj -m cljs.main -h
  +----
  +
  +On Windows:
  +
  +[source,bash]
  +----
  +java -cp "cljs.jar;src" -m cljs.main -h
  +----
  +
  +One important thing to note is that so called main options like `--compile`,
  +`--main`, `--repl` must always come last.
   
   [[production-builds]]
   == Production Builds
  
positive.code: (println "Hello world!")
  ----
  
  Let's create a release build. We can do this with `-O` for `--optimizations`.
  The default optimization level is `none`, but this time we want to use all
  optimizations provided by both ClojureScript and Google Closure Compiler - this
  can be done by specifying `advanced`. Other valid options for `-O` are
  `whitespace` and `simple` but these are less commonly used:
  
negative.code: JavaScript. There's about 6 1/2 megabytes worth of JavaScript in there. This may
  seem unweildy but fortunately the ClojureScript compiler generates output
  optimized for the Google Closure Compiler. The Google Closure Compiler performs
  many optimizations and the most significant for browser-based clients are
  minification and dead code elimination.
  
  Let's remove the REPL modifications we made earlier from `src/hello_world/core.cljs`:
  
  [source,clojure]
  ----
  