anchor.diff:  Note that Scala refers to these as \"scales\" but in cl-patterns they are known as tunings."
     (with-open-file (stream file :direction :input :if-does-not-exist :error)
       (let* ((lines (loop :for line = (read-line stream nil 'eof)
  -                     :if (eql line 'eof)
  -                     :do (loop-finish)
  -                     :unless (char= #\! (elt line 0))
  -                     :collect (string-left-trim '(#\space) line)))
  +                        :if (eql line 'eof)
  +                          :do (loop-finish)
  +                        :unless (char= #\! (elt line 0))
  +                          :collect (string-left-trim '(#\space) line)))
              (name (car lines))
              (count (parse-integer (cadr lines)))
              (pitches (append (list 0)
  -                            (mapcar (lambda (line) (let ((line (subseq line
  -                                                                       (position-if (lambda (char) (char/= #\space char)) line)
  -                                                                       (position-if (lambda (char) (char= #\space char)) line))))
  -                                                     (if (position #\. line :test #'char=) ;; if it has a . it's a cents value
  -                                                         (/ (read-from-string line) 100) ;; cents
  -                                                         (ratio-midi (read-from-string line)))))
  +                            (mapcar (lambda (line)
  +                                      (let ((line (subseq line
  +                                                          (position-if (lambda (char) (char/= #\space char)) line)
  +                                                          (position #\space line :test #'char=))))
  +                                        (if (position #\. line :test #'char=) ;; if it has a . it's a cents value
  +                                            (/ (read-from-string line) 100) ;; cents
  +                                            (ratio-midi (read-from-string line)))))
                                       (cddr lines))))
              (octave-ratio (car (last pitches)))
              (pitches (butlast pitches))
  
positive.code: (defun note-name-and-octave (note)
    "Given a note name, return a list consisting of its note number and its octave (defaulting to 5 if it's not specified).
  
  See also: `note-number', `note-name'"
    (let* ((str (string note))
           (note (remove-if-not (lambda (i)
                                  (or (alpha-char-p i)
  
negative.code:     (list (if (emptyp note) :c (make-keyword (string-upcase note)))
            (if (emptyp octave) 5 (parse-integer octave)))))
  
  (uiop:with-deprecation (:style-warning)
    (defun note-number (note)
      "Deprecated alias for `note-midinote'.
  
  See also: `note-name', `note-name-and-octave', `note-midinote'"
      (note-midinote note)))
  
  (defun note-name (note-number)
    "Given a note number, return its note name.
  
  Note that this function is not aware of context and thus always returns the first known name of each note, not necessarily the one that is \"correct\".
  
  See also: `note-midinote'"
    (car (elt-wrap *note-names* note-number)))
  
  (defun sharp-or-flat (string)
  