anchor.diff:                       (u32 (- end-position start-position))
                        (file-position stream end-position)))))
                (struct (field-types value)
  -               (align 8)
                  (map nil (lambda (type element)
                             (pack-1 type element))
                       field-types value))
  
positive.code:                (pack-1 :signature type)
                 (pack-1 (first type) value))
               (pack-1 (type value)
                 (etypecase type
                   ((eql :byte) (u8 value))
                   ((eql :boolean) (u32 (if value 1 0)))
  
negative.code:                  (map nil #'u8 octets)
                   (u8 0)))
               (arr (element-type value)
                 (let ((length-position (file-position stream)))
                   (u32 0)
                   (align (alignment element-type))
                   (let ((start-position (file-position stream)))
                     (pack-seq (circular-list element-type) value)
                     (let ((end-position (file-position stream)))
  