anchor.diff:  
   * Finally, unmatched arguments simply default to +nil+.
   
  -Argument resolution is performed by the +rook-dispatcher+ function, just before invoking the resource handler function.
  -The +default-rook-pipeline+ includes +rook-dispatcher+ plus middleware to add any argument resolvers from the
  +Argument resolution is performed by the {api}/io.aviso.rook.html#var-rook-dispatcher[+rook-dispatcher]+ function,
  +just before invoking the resource handler function.
  +The {api}/io.aviso.rook.html#var-default-rook-pipeline[+default-rook-pipeline+] includes +rook-dispatcher+ plus middleware to add any argument resolvers from the
   function's +:arg-resolvers+ metadata footnote:[Remember that Rook merges function metadata with metadata of the containing namespace]
   to the list of argument resolvers used by +rook-dispatcher+.
   
  
positive.code: :imagesdir: images
  
  = Rook
  
  Rook is a set of middleware and handlers to enable metadata-based routing for https://github.com/ring-clojure/ring[Ring] web applications.
  
negative.code: 
  A typical web service will expose some number of resources; under Ring this means mapping a number of namespaces.
  
  The {api}/io.aviso.rook.html#var-namespace-handler[+namespace-handler+] function is the easy way to do this mapping. It combines +compojure.core/context+ with Rook's
  +namespace-middleware+ (which identifies the function to be invoked within the namespace) and +default-rook-pipeline+.
  
  ----
  (routes
  