anchor.diff:   (.toString sb))
       => "hello, world"
   ----
  -    
  +
   In ClojureScript `Foo/bar` always means that `Foo` is a namespace. It cannot be used for the Java static field access pattern common in Clojure as there's no reflection information in JavaScript to determine this.
   
   The special namespace `js` provides access to global properties:
  
positive.code: 
  == Macros
  
  ClojureScript's macros must be defined in a different _compilation stage_ than the one from 
  where they are consumed. One way to achieve this is to define them in one namespace and use them from another. 
  
  Macros are referenced via the `:require-macros` keyword in 
  namespace declarations:
  
  [source,clojure]
  
negative.code: 
  While `^long` and `^double`—when used on function parameters—are type _declarations_ in Clojure, they are type _hints_ in ClojureScript.
  
  Type hinting is primarily used to avoid reflection in Clojure. In ClojureScript, the only type hint of significance is the `^boolean` type hint: It is used to avoid checked `if` evaluation (which copes with the fact that, for example, `0` and `""` are false in JavaScript and true in ClojureScript).
  
  == Compilation and Class Generation
  
  