anchor.diff:  (defmethod close ((stream fat32-file-stream) &key abort)
     (cond ((not abort)
            (when (member (direction stream) '(:output :io))
  -           (write-cluster (partition (host stream))
  -                          (read-buffer-position stream)
  -                          (fat32-structure (host stream))
  -                          (read-buffer stream))
  +           (write-file (fat32-structure (host stream))
  +                       (partition (host stream))
  +                       (read-buffer-position stream)
  +                       (fat (host stream))
  +                       (read-buffer stream))
              (write-file-size stream)))
           (t (error "Aborted close not suported")))
     t)
  
positive.code:           (aref directory (+ 11 offset)))
       1))
  
  ;; WIP
  (defun read-file (fat32 disk file-cluster fat)
    (let ((file-buffer #()))
      (do ((i file-cluster
              (sys.int::ub32ref/le fat (* i 4))))
          ((>= i #x0FFFFFF8) file-buffer)
        (setf file-buffer
              (concatenate 'vector
                           file-buffer
                           (read-cluster fat32 disk
                                         (first-sector-of-cluster fat32 i)))))))
  
  (defun read-first-cluster (directory offset)
    (logior (ash (sys.int::ub16ref/le directory (+ 20 offset)) 16)
  
negative.code:                                     (partition host)
                                      (read-first-cluster cluster-data start)
                                      (fat host))
                    read-buffer-position (read-first-cluster cluster-data start)
                    read-buffer-size (read-size cluster-data start))
              (ecase if-does-not-exist
                (:error (error 'simple-file-error
  