anchor.diff:                                :dirty-bit dirty-bit
                                 :block-n block-n
                                 :buffer buffer
  -                              :buffer-position buffer-position
  +                              :first-cluster first-cluster
                                 :position file-position
                                 :length file-length
                                 :abort-action abort-action))
  
positive.code:                  (finish-output stream)
                   (when (eql (if-exists stream) :supersede)
                     (deallocate-file ffs fat parent-dir file-offset)
                     (setf (read-first-cluster parent-dir file-offset) (buffer-position stream))
                     (write-fat disk ffs fat))
                   (setf (read-write-time parent-dir file-offset) time
                         (read-write-date parent-dir file-offset) date
  
negative.code:                (write-directory ffs block-device parent-cluster fat parent-dir)))
              (t
               (cond ((eql (if-exists stream) :supersede)
                      (setf (read-first-cluster parent-dir file-offset) (first-cluster stream))
                      (deallocate-file ffs fat parent-dir file-offset)
                      (write-fat disk ffs fat))
                     ((eql (abort-action stream) :delete)
  