anchor.diff:  ;;;; command definition macros 
   ;;;;
   
  +(defun argnames-from-args (args)
  +  ;; hack: collect the argument names, expect for data size parameters
  +  (let ((sizes (loop
  +		  :for spec :in (cdr args) :by #'cddr
  +		  :for size = (getf (cddr spec) :size)
  +		  :when (and size (symbolp size))
  +		  :collect size)))
  +    (loop
  +       :for key :in args :by #'cddr
  +       :unless (member key sizes)
  +       :collect key)))
  +
   ;; TRANSLATING THE FORMS INTO COMMANDS
   (defun create-nxt-command-form (name type-code command-code &rest args)
  -  (let ((argnames (loop :for key :in args :by #'cddr :collect key)))
  +  (let ((argnames (argnames-from-args args)))
       `(progn
          (setf (fp-request (ensure-frame-pair ',name ',type-code ',command-code))
   	     (parse-frame-info ',args))
  
positive.code:     (write-ubyte-to-command data-vector tc 0)
      (write-ubyte-to-command data-vector cc 1)
      (loop :for arg :in args
            :for param :in (fi-parameters fi)
            :do (encode-parameter param arg data-vector)) 
      data-vector))
  
  
negative.code: 
  (defclass frame-info ()
    ((n-static-bytes :initform nil        :accessor %n-static-bytes)
     (parameters     :initarg :parameters :accessor fi-parameters)
     (explicit-parameters                 :accessor fi-explicit-parameters)))
  
  (defun parse-frame-info (specs)
    (let ((parameters (parse-parameter-specs specs)))
  