anchor.diff:  
   [source,clojure]
   ----
  -user=> (#(println %&) "Hello " "Clojure " ", Thank " "You!! ")
  +user=> (#(println %&) "Hello " "Clojure " ", Thank " "You!!")
   (Hello Clojure , Thank You!! ) ; takes n args
   user=> (macroexpand '#(println %&))
   (fn* [& rest__11#] (println rest__11#))
  
positive.code: 
  == `%`, `%n`, `%&` - Anonymous function arguments
  
  `%` is an argument in an anonymous function `#(...)` as in `#(* % %)`.
  
  When an anonymous function is expanded, it becomes an `fn` form and `%` args are replaced with gensym'ed names
  (here we use arg1, etc for readability):
  
negative.code: 
  [source,clojure]
  ----
  user=> (#(println %1 %2) "Hello " "Clojure")
  Hello Clojure ; takes 2 args
  user=> (macroexpand `#(println %1 %2))
  (fn* [arg1 arg2] (clojure.core/println arg1 arg2)) ; takes 2 args
  
  user=> (#(println %4) "Hello " "Clojure " ", Thank " "You!!")
  You!! ; takes 4 args, doesn't use first 3 args
  user=> (macroexpand `#(println %4))
  (fn* [arg1 arg2 arg3 arg4] (clojure.core/println arg4)) ; takes 4 args doesn't use 3
  