anchor.diff:  (defmethod fd-from-description ((io-file io-file))
     (with-slots (redirect filename) io-file
       (let ((fd (sb-posix:open (coerce (token-value filename) 'simple-string)
  -                             (open-args-for-redirect redirect))))
  +                             (open-args-for-redirect redirect)
  +                             *umask*)))
         (format *error-output* "OPEN ~A = ~A~%" fd filename)
         (values fd t))))
   
  
positive.code: (in-package :shcl.evaluate)
  
  (optimization-settings)
  
  (define-condition not-implemented ()
    ((message
  
negative.code:   (logior sb-posix:o-rdonly))
  (defmethod open-args-for-redirect ((r great))
    (declare (ignore r))
    (logior sb-posix:o-wronly sb-posix:o-creat sb-posix:o-trunc))
  (defmethod open-args-for-redirect ((r dgreat))
    (declare (ignore r))
    (logior sb-posix:o-wronly sb-posix:o-creat sb-posix:o-append))
  (defmethod open-args-for-redirect ((r lessgreat))
    (declare (ignore r))
    (logior sb-posix:o-rdwr sb-posix:o-creat))
  
  (defgeneric fd-from-description (description))
  (defmethod fd-from-description ((fd integer))
  