anchor.diff:      (nix:repeat-decreasing-timeout (remaining timeout :rloop)
         (flet ((check-timeout ()
                  (if (plusp remaining)
  -                   (wait-for-output device remaining)
  +                   (device-poll-output device remaining)
                      (return-from :rloop 0))))
           (handler-case
               (nix:write (output-handle-of device) (inc-pointer buf start) (- end start))
  
positive.code: ;;; I/O WAIT
  ;;;-----------------------------------------------------------------------------
  
  (defmethod wait-for-input ((device device) &optional timeout)
    (iomux:wait-until-fd-ready (input-handle-of device) :input timeout))
  
  (defmethod wait-for-output ((device device) &optional timeout)
    (iomux:wait-until-fd-ready (output-handle-of device) :output timeout))
  
  
negative.code: 
  (defgeneric device-length (device))
  
  (defgeneric device-poll-input (device &optional timeout))
  
  (defgeneric device-poll-output (device &optional timeout))
  
  
  