anchor.diff:    (:program rpcmq 1)
     (:arg-transformer (handle) handle)
     (:transformer (res)
  -                (values (xunion-val res) (xunion-tag res)))
  +    (case (xunion-tag res)
  +      (:ok (xunion-val res))
  +      (:notfound (error 'queue-not-found-error))
  +      (t (error 'rmcpq-error))))
     (:handler #'handle-stat)
     (:documentation "Get information on the remote message queue."))
   
  
positive.code:           (:ok :uint32)
            (otherwise :void))
    (:arg-transformer (handle data) (list handle data))
    (:transformer (res) (xunion-val res))
    (:program rpcmq 1)
    (:handler #'handle-post)
    (:documentation "Post a message to the remote message queue."))
  
negative.code:   (:ok 0)
    (:notfound 1)
    (:error 2))
  
  (define-condition rpcmq-error (error)
    ()
    (:report (lambda (c stream) 
  	     (declare (ignore c))
  	     (format stream "RPCMQ-ERROR"))))
  
  (define-condition queue-not-found-error (rpcmq-error)
    ()
    (:report (lambda (c stream) 
  	     (declare (ignore c))
  	     (format stream "RPCMQ queue not found"))))
  
  ;; ------------------------------
  
  