   :symbolD [12 1]
   :closeParen2 [13 1]
 
-  :openParen3 [3 2]
-  :symbolX [4 2]
-  :symbolY [6 2]
-  :symbolZ [8 2]
-  :closeParen3 [9 2]
-
-  :closeParen1 [10 2]})
-
-(def ex1-pos4 {
-  :openParen1 [1 1]
-
-  :arrow1 [2 1]
-  :arrow2 [3 1]
-
-  :openParen3 [3 2]
-  :symbolX [4 2]
-  :openParen2 [6 2]
-  :symbolB [7 2]
-  :symbolA [9 2]
-  :symbolC [11 2]
-  :symbolD [13 2]
-  :closeParen2 [14 2]
-  :symbolY [16 2]
-  :symbolZ [18 2]
-  :closeParen3 [19 2]
-
-  :closeParen1 [20 2]})
+  :openParen3 [5 2]
+  :symbolX [6 2]
+  :symbolY [8 2]
+  :symbolZ [10 2]
+  :closeParen3 [11 2]
+
+  :closeParen1 [12 2]})
 
 (def ex1-pos5 {
+  :openParen1 [1 1]
+  :arrow1 [2 1]
+  :arrow2 [3 1]
+
+  :openParen2 [5 1]
+  :symbolB [6 1]
+  :symbolA [8 1]
+  :symbolC [10 1]
+  :symbolD [12 1]
+  :closeParen2 [13 1]
+
+  :openParen3 [5 2]
+  :symbolX [6 2]
+  :symbolY [18 2]
+  :symbolZ [20 2]
+  :closeParen3 [21 2]
+
+  :closeParen1 [22 2]})
+
+(def ex1-pos6 {
+  :openParen1 [1 1]
+  :arrow1 [2 1]
+  :arrow2 [3 1]
+
+  :openParen2 [8 2]
+  :symbolB [9 2]
+  :symbolA [11 2]
+  :symbolC [13 2]
+  :symbolD [15 2]
+  :closeParen2 [16 2]
+
+  :openParen3 [5 2]
+  :symbolX [6 2]
+  :symbolY [18 2]
+  :symbolZ [20 2]
+  :closeParen3 [21 2]
+
+  :closeParen1 [22 2]})
+
+(def ex1-pos7 {
   :openParen1 nil
-
   :arrow1 nil
   :arrow2 nil
 
-  :openParen3 [3 2]
-  :symbolX [4 2]
-  :openParen2 [6 2]
-  :symbolB [7 2]
-  :symbolA [9 2]
-  :symbolC [11 2]
-  :symbolD [13 2]
-  :closeParen2 [14 2]
-  :symbolY [16 2]
-  :symbolZ [18 2]
-  :closeParen3 [19 2]
+  :openParen2 [8 2]
+  :symbolB [9 2]
+  :symbolA [11 2]
+  :symbolC [13 2]
+  :symbolD [15 2]
+  :closeParen2 [16 2]
+
+  :openParen3 [5 2]
+  :symbolX [6 2]
+  :symbolY [18 2]
+  :symbolZ [20 2]
+  :closeParen3 [21 2]
 
   :closeParen1 nil})
 
-(def ex1-pos6 {
+(def ex1-pos8 {
   :openParen1 nil
   :arrow1 nil
   :arrow2 nil

  (* n (+ animation-duration time-between)))

(defn- animate! []
  ; (js/setTimeout #(animate-to-position ex1-pos2) (round 1))
  ; (js/setTimeout #(animate-to-position ex1-pos3) (round 2))
  ; (js/setTimeout #(animate-to-position ex1-pos4) (round 3))
  ; (js/setTimeout #(animate-to-position ex1-pos5) (round 4))
  ; (js/setTimeout #(animate-to-position ex1-pos6) (round 5))

  ; (set-position-instant! ex1-pos6)
  ; (js/setTimeout #(animate-to-position ex1-pos5) (round 2))

  ; (js/setTimeout #(animate-to-position ex1-pos3) (round 4))
  ; (js/setTimeout #(animate-to-position ex1-pos2) (round 5))
  ; (js/setTimeout #(animate-to-position ex1-pos1) (round 6))
  )

(defn init!
  "Initialize the threading macro page."
  []
  (set-html! "threadingMacroBody" (ex1-html))
  ;(set-html! "threadingMacroBody" (ex2-html))
  (animate!)
  )