Chapter 3 of ClojureScript Up and Running