anchor.diff:  
   [source, clojure]
   ----
  -[org.clojure/clojure "1.9.0-alpha8"]
  +[org.clojure/clojure "1.9.0-alpha9"]
   ----
   
   To start working with spec, require the `clojure.spec` namespace or include in your namespace definition:
  
positive.code: 
  === Testing
  
  We mentioned earlier that `clojure.spec.test` provides tools for automatically testing functions. When functions have specs, we can use http://clojure.github.io/clojure/branch-master/clojure.spec-api.html#clojure.spec.test/test[`test`], to automatically generate tests that check the function using the specs. 
  
  `test` will generate arguments based on the `:args` spec for a function, invoke the function, and check that the `:ret` and `:fn` specs were satisfied.
  
  [source,clojure]
  ----
  (require '[clojure.spec.test :as stest])
  
  (stest/test `ranged-rand)
  ;;=> ({:spec #object[clojure.spec$fspec_impl$reify__13728 0x4a47e374 "clojure.spec$fspec_impl$reify__13728@4a47e374"],
  ;;     :clojure.spec.test.check/ret {:result true, :num-tests 100, :seed 1466805740290},
  ;;     :sym spec.examples.guide/ranged-rand,
  
negative.code: ;;     :type :pass})
  ----
  
  `check` also takes a number of options that can be passed to test.check to influence the test run, as well as the option to override generators for parts of the spec, by either name or path.
  
  Imagine instead that we made an error in the ranged-rand code and swapped start and end:
  
  