anchor.diff:      result))
   
   (defmacro fd-bind* (bindings &body body)
  +  "Establish file descriptor bindings for the dynamic extent of this
  +form.
  +
  +Each binding is processed in sequence (like `let*' would).  A binding
  +is a list of two elements: the file descriptor to bind and the value
  +to bind it to.
  +
  +The value form must produce a wrapper object which can be retained and
  +released with `fd-wrapper-retain' and `fd-wrapper-release'.  The value
  +form will be evaluated using `receive-ref-counted-fd', so the value
  +form must follow the naming conventions expected by that macro."
     (unless bindings
       (return-from fd-bind* `(progn ,@body)))
     (let ((old-fd (gensym "OLD-FD"))
  
positive.code:     (values)))
  
  (defun get-fd-binding (virtual-fd &key (if-unbound :error))
    (check-type if-unbound (member nil :error :unmanaged))
    (let ((result (nth-value 0 (fset:lookup *fd-bindings* virtual-fd))))
      (unless result
  
negative.code: `unset-fd-binding', and query bindings with `get-fd-binding'.")
  
  (defun unset-fd-binding (virtual-fd)
    "Removes any binding for `virtual-fd'."
    (let ((old-value (fset:lookup *fd-bindings* virtual-fd))
          (without-old-value (fset:less *fd-bindings* virtual-fd)))
      (when old-value
  