 
 ;; first task! something simple
 ;; Lets change the name of all the authors to tobias funke in this xml document.
-;; This culd be accomplished by diggin down to the right elements and updating them
+;; This could be accomplished by digging down to the right elements and updating them
 ;; appropriately... but a lazier way would be to just walk all of the tree
 ;; and replace the contents of the elements with the author tag
 

;; ========================================================
;; composition

;; a critical feture of lenses are that they compose
;; you can do this with the lens/comp-lenses
;; this function takse a seq of lenses and combines them

(def user2
  {:first-name "tobias"
   :last-name "funke"
   :address {:city "bluethwill"
             :address_line "sudden valy street 23"
             :postcode "56321"}})

(def user-city (lens/comp-lenses [:address :city]))

;; extract

;; extract is a function that lets you transform a structure
;; to a map of a different shape and later write back changes
;; that are done to the new map

(def user-view
