anchor.diff:  
   (define-binary-class rational-ifd-entry (ifd-entry)
     ((data (ifd-array :type 'rational :size value-count))))
  +(defmethod bytes-per-entry ((class (eql (find-class 'rational-ifd-entry)))) 8)
   
   ;; 6 -- signed byte
   (define-binary-class sbyte-ifd-entry (ifd-entry)
     ((data (ifd-array :type 's1* :size value-count))))
  +(defmethod bytes-per-entry ((class (eql (find-class 'sbyte-ifd-entry)))) 8)
   
   ;; 7 -- undefined (and unused, at least for now)
   #+nil
   (define-binary-class undefined-ifd-entry (ifd-entry)
     ((value-offset u4*)))
  +#+nil
  +(defmethod bytes-per-entry ((class (eql (find-class 'undefined-ifd-entry)))) 4)
   
   ;; 8 -- signed short
   (define-binary-class sshort-ifd-entry (ifd-entry)
     ((data (ifd-array :type 's2* :size value-count))))
  +(defmethod bytes-per-entry ((class (eql (find-class 'sshort-ifd-entry)))) 2)
   
   ;; 9 -- signed long
   (define-binary-class slong-ifd-entry (ifd-entry)
     ((data (ifd-array :type 's4* :size value-count))))
  +(defmethod bytes-per-entry ((class (eql (find-class 'slong-ifd-entry)))) 4)
   
   ;; 10 -- signed rational
   (define-binary-class srational ()
  
positive.code:                           (loop for i below pad
                               do (write-value type out 0))))))))
  
  ;; 1 - byte
  (define-binary-class byte-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'u1 :size value-count))))
  
  ;; 2 - ascii
  (define-binary-class ascii-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'iso-8859-1-char :size value-count :element-type 'character))))
  
  ;; 3 -- short
  (define-binary-class short-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'u2* :size value-count))))
  
  ;; 4 -- long
  (define-binary-class long-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'u4* :size value-count))))
  
  ;; 5 -- rational
  (define-binary-class rational ()
  
negative.code: 
  (define-binary-class srational-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'srational :size value-count))))
  (defmethod bytes-per-entry ((class (eql (find-class 'srational-ifd-entry)))) 8)
  
  ;; 11
  (define-binary-class float-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'f4* :size value-count))))
  (defmethod bytes-per-entry ((class (eql (find-class 'float-ifd-entry)))) 4)
  
  ;; 12
  (define-binary-class double-ifd-entry (ifd-entry)
    ((data (ifd-array :type 'f8* :size value-count))))
  (defmethod bytes-per-entry ((class (eql (find-class 'double-ifd-entry)))) 8)
  
  
  (define-binary-type tiff-ifd-offset ()
  