anchor.diff:  ;= Amber Aaron Nick Earl Joe
   ----
   
  -This binding works but even using destructuring it's pretty clunky. Here we can use `&` to clump the tail elements into a sequence.
  +This binding works but even using destructuring it's pretty clunky. Instead we can use `&` to combine the tail elements into a sequence.
   
   [source,clojure]
   ----
   (let [[first & remaining] names]
     (do
       (println first)
  -    (println remaining)))
  +    (apply println remaining)))
   ;= Michael
   ;= Amber Aaron Nick Earl Joe
   ----
  
positive.code: ----
  
  
  === Where to destructure
  
  You can utilize destructuring anywhere that there is an explicit or implicit let binding.
  
  ==== Function Declarations
  
  Passing a collection of information into a function is common practice in Clojure, so the ability to separate those parameters' information is important. When you define a function in Clojure you can utilize destructuring to make the function definition very concise.
  
  
negative.code: = Destructuring in Clojure
  Michael Zavarella
  2015-12-09
  :jbake-type: guides
  :toc: macro
  :icons: font
  
  ifdef::env-github,env-browser[:outfilesuffix: .adoc]
  
  toc::[]
  
  == What is Destructuring?
  
  Destructuring is a way to concisely bind names to the values in a data structure. Destructuring allows us to write more concise and readable code.
  
  Consider the following example of extracting and naming values in a vector.
  
  