anchor.diff:  (def fruits ["apple" "orange" "strawberry" "peach" "pear" "lemon"])
   (let [[first _ third & rest :as all-fruits] fruits]
     (do
  -    (println "The first and thir fruits are," first "and" third)
  -    (println "These we're taken from" all-fruits)
  -    (println "The fruits after them are" rest))
  -;= The first and third fruits are, apple and strawberry
  -;= These we're taken from [apple orange strawberry peach pear lemon]
  -;= The fruits after them are (peache pear lemon)
  -----
  -
  -Destructuring grants you access to vectors nested within vectors as well. Let's go back to our vector from the very beginning, `my-line`.
  +    (println "The first and third fruits are" first "and" third)
  +    (println "These were taken from" all-fruits)
  +    (println "The fruits after them are" rest)))
  +;= The first and third fruits are apple and strawberry
  +;= These were taken from [apple orange strawberry peach pear lemon]
  +;= The fruits after them are (peach pear lemon)
  +----
  +
  +Destructuring can also be nested to get access to arbitrary levels of sequential structure.. Let's go back to our vector from the very beginning, `my-line`.
   
   [source,clojure]
   ----
  
positive.code: ;= "Line from ( 5 , 10 ) to ( 10 , 20 )"
  ----
  
  While you can penetrate through as many layers as you need, once you get to the fourth or fifth layer this becomes difficult to read.
  
  When you have nested vectors, you can use `:as` to bind the whole nested vector to a single symbol.
  
  [source,clojure]
  ----
  
negative.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.
  
  