anchor.diff:         ,@(loop for e in *ilst-atoms*
                  collect
                  `(progn
  -                  (defclass ,(mksym "atom-" (second e)) (atom-ilst) ())
  -                  (defconstant* ,(mksym "+itunes-" (first e) "+") ,(second e))
  -                  (export ',(mksym "+itunes-" (first e) "+")))))))
  +                  (defclass ,(mksym nil "atom-" (second e)) (|atom-ilst|) ())
  +                  (defconstant* ,(mksym t "+itunes-" (first e) "+") ,(second e))
  +                  (export ',(mksym t "+itunes-" (first e) "+")))))))
   
   ;;; generate the ilst atoms/constants/exports
   (mk-ilst-atoms-constants)
   
   
  -(defclass atom-data (mp4-atom)
  +(defclass |atom-data| (mp4-atom)
     ((atom-version :accessor atom-version :initarg :atom-version :initform nil)
      (atom-flags   :accessor atom-flags   :initarg :atom-flags   :initform nil)
      (atom-locale  :accessor atom-locale  :initarg :atom-locale  :initform nil)
      (atom-value   :accessor atom-value   :initarg :atom-value   :initform nil))
     (:documentation "Represents the 'data' portion of ilst data atom"))
   
  -(defmethod initialize-instance :after ((me atom-data) &key mp4-file parent &allow-other-keys)
  +(defmethod initialize-instance :after ((me |atom-data|) &key mp4-file parent &allow-other-keys)
     (declare #.utils:*standard-optimize-settings*)
   
     (with-slots (atom-size atom-type atom-version atom-flags atom-value atom-locale) me
  
positive.code:           samp-rate   (stream-read-u32 mp4-file))) ; fixed 16.16 floating point number
    (call-next-method))
  
  (defclass atom-meta (mp4-container-atom)
    ((version  :accessor version)
     (flags    :accessor flags)))
  
  (defmethod initialize-instance :around ((me atom-meta) &key mp4-file &allow-other-keys)
    (declare #.utils:*standard-optimize-settings*)
  
     (with-slots (version flags) me
  
negative.code:     (stream-seek mp4-file (- atom-size 8) :current)))
  
  ;;; For atoms we don't implement yet, subclass atom-skip
  (defclass |atom-----| (atom-skip) ())
  (defclass |atom-cmID| (atom-skip) ()) ; ???
  (defclass |atom-dinf| (atom-skip) ())
  (defclass |atom-drms| (atom-skip) ())
  (defclass |atom-edts| (atom-skip) ())
  (defclass |atom-flvr| (atom-skip) ())
  (defclass |atom-free| (atom-skip) ())
  (defclass |atom-ftyp| (atom-skip) ())
  (defclass |atom-iods| (atom-skip) ())
  (defclass |atom-mdat| (atom-skip) ())
  (defclass |atom-mvhd| (atom-skip) ())
  (defclass |atom-name| (atom-skip) ())
  (defclass |atom-pinf| (atom-skip) ())
  (defclass |atom-plID| (atom-skip) ())
  (defclass |atom-sbtd| (atom-skip) ())
  (defclass |atom-smhd| (atom-skip) ())
  (defclass |atom-stco| (atom-skip) ())
  (defclass |atom-stsc| (atom-skip) ())
  (defclass |atom-stsz| (atom-skip) ())
  (defclass |atom-stts| (atom-skip) ())
  (defclass |atom-tkhd| (atom-skip) ())
  (defclass |atom-xid | (atom-skip) ()) ; NOTE: it's actually "xid#\Space"
  
  (defclass mp4-container-atom (mp4-atom)
    ((tree :accessor tree :documentation "Note: this is ONLY set for the ROOT atom"))
  