 (defn down-octave [degree] (- 7 degree))
 
 (defn make-move [scale degree]
+  "Generate an interval jump from the current note
+  until another compatible note is reached."
   (let [movements '(up-step down-step up-leap down-leap up-octave down-octave)
         current-move (weighted-choose movements '(0.38 0.38 0.08 0.08 0.04 0.04))
         temp-degree ((resolve current-move) degree)]

                           :running-interval running-interval))))

(defn generate-intervals [scale note-count]
  (let [mid-intervals (construct-intervals scale (- note-count 2))
        scale-count (count scale)]
    (concat '(1)

                           & {:keys [running-interval degree]
                              :or {running-interval '()
                                   degree 1}}]
  "Build an interval-representation of the melody
  by traversing through the scale in steps/leaps/octave jumps."
  (if (<= note-count 0)
    running-interval
    (let [degree (make-move scale degree)
