anchor.diff:        (error "expected status ~A but received ~A"
   	     expected-status
   	     (cdar alist)))
  -    alist))
  +    (ecase return-style
  +      (:alist alist)
  +      (:values (apply #'values (mapcar #'cdr alist))))))
   
   (defun write-request (nxt tc cc fi onewayp args)
     (write-to-nxt nxt (encode-frame (logior tc (if onewayp #x80 0)) cc fi args)))
  
positive.code: 	     (parse-frame-info ',args))
         (defun ,name (&key (nxt *nxt*)
  		          (onewayp nil)
  		          check-status
  		          ,@argnames)
  	 (perform-command nxt
  			  (load-time-value (find-frame-pair ',name))
  			  onewayp
  			  check-status
  			  (list ,@argnames))))))
  
  
negative.code: ;;;; Send commands and read replies:
  ;;;;
  
  (defun perform-command (nxt fp onewayp return-style expected-status args)
    (when (and expected-status onewayp)
      (error "cannot check status of a oneway command"))
    (let ((tc (fp-type-code fp))
  	(cc (fp-command-code fp)))
      (write-request nxt tc cc (fp-request fp) onewayp args)
      (unless onewayp
        (read-reply/checked nxt cc (fp-reply fp) return-style expected-status))))
  
  (defun read-reply/checked (nxt cc fi return-style expected-status)
    (let ((alist (read-reply nxt cc fi))
  	(expected-status (case expected-status
  			 ((t) :success)
  