                                            :else value)]
                                [{param value}]))
                      (re-seq #"\G(!|\?|&|@|)(>+|<+|)(-?(?:[0-9]+|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)(?:[eE]-?[0-9]+)?|)" token)))
-         {:notes (rest notes)})
+         {:notes (vec-rest notes)})
         state))))
 
 (defn make-sequencer [& [sequence]]

                                                         (:displacement state))))))
                          :else
                          (throw (Exception. (format "Could not parse key: %s" key))))
                        (merge state {:position (+ (:position state) (or (:repeat-length state) (:length state)))})))
              notes (:notes state)]
          (recur notes (merge state {:repeat-length nil})))
        state))))

                                        1 3))
                                 3)
                   (:position state))))
          (merge state (first notes) {:notes (vec-rest notes)})))
      state)))

(defn parse-length [notes state]
