anchor.diff:             (assert (plusp count)))))))
   
   (defun posix-write-string (fd string)
  +  "Write a string to a file descriptor"
     (with-foreign-string (ptr string)
       (posix-write-foreign fd ptr (strlen ptr))))
   
   (defun posix-write-bytes (fd bytes)
  +  "Write bytes to a file descriptor"
     (with-foreign-object (ptr :unsigned-char (length bytes))
       (loop :for index :below (length bytes) :do
          (setf (mem-aref ptr :unsigned-char index) (aref bytes index)))
       (posix-write-foreign fd ptr (length bytes))))
   
   (defun posix-write (fd buffer)
  +  "Write to a file descriptor.
  +
  +Strings or unsigned-char arrays are supported."
     (etypecase buffer
       (string
        (posix-write-string fd buffer))
  
positive.code:   &rest)
  
  (defun openat (dirfd pathname flags &optional mode)
    (if mode
        (%openat dirfd pathname flags mode-t mode)
        (%openat dirfd pathname flags)))
  
negative.code:   (count size-t))
  
  (defun posix-read (fd count &key binary)
    "Read a specific number of bytes from the given fd.
  
  This function doesn't try to prevent multi-byte characters from being
  split.  If you are using an encoding with characters requiring
  multiple bytes, you shouldn't use this function in non-binary mode."
    ;; TODO: Stop using non-binary posix-read
    (with-foreign-object (buf :char count)
      (tagbody
       retry
  