anchor.diff:    '(member :input :output :io))
   
   (deftype file-if-exists ()
  -  '(member :error :error-if-symlink :unlink :overwrite))
  +  '(member :default :error :error-if-symlink :unlink :overwrite))
   
   (deftype file-if-does-not-exist ()
  -  '(member :error :create))
  +  '(member :default :error :create))
   
   (defmethod initialize-instance :after ((device file-device)
                                          &key filename (direction :input)
  -                                       if-exists if-does-not-exist truncate append
  -                                       nonblocking (extra-flags 0) (mode #o666))
  +                                       (if-exists :default) (if-does-not-exist :default)
  +                                       truncate append nonblocking (extra-flags 0)
  +                                       (mode #o666))
     (when (and (eql :error if-exists)
                (eql :error if-does-not-exist))
       (error 'program-error))
  
positive.code: (defmethod device-position ((device file-device))
    (position-of device))
  
  (defmethod (setf device-position) (offset (device file-device) &key (type :start))
    (ecase type
      (:start
       (nix:lseek (input-handle-of device) offset nix:seek-set)
       (setf (position-of device) offset))
  
negative.code:   (nix:stat-size (nix:fstat (input-handle-of device))))
  
  (defun open-file (filename &key (direction :input)
                    (if-exists :default if-exists-p)
                    (if-does-not-exist :default if-does-not-exist-p)
                    truncate append nonblocking (extra-flags 0) (mode #o666))
    (when (and (null if-exists)
               (null if-does-not-exist))
      (error 'program-error))
    (handler-case
        (make-instance 'file-device
                       :filename (namestring filename)
                       :direction direction
                       :if-exists if-exists
                       :if-does-not-exist if-does-not-exist
                       :truncate truncate
                       :append append
                       :nonblocking nonblocking
  