anchor.diff:     (type (or prefix null) prefix))
     (let (channel-string)
       (when channels
  -      (mapcar (lambda (channel)
  -		(when channel
  -		  (setf channel-string
  -			(concatenate 'string
  -				     channel-string
  -				     (when channel-string ",")
  -				     channel))))
  +      (mapc (lambda (channel)
  +	      (when channel
  +		(setf channel-string
  +		      (concatenate 'string
  +				   channel-string
  +				   (when channel-string ",")
  +				   channel))))
   	      (limit-params channels)))
       (make-instance 'cmd-names
   		   :prefix prefix
  
positive.code:    (type (or prefix null) prefix))
    (let (channel-string key-string)
      (setf channel-plist (sort-params-first (limit-params channel-plist)))
      (mapcar (lambda (channel-pair)
  	      (let ((channel (car channel-pair))
  		    (key (cdr channel-pair)))
  		(setf channel-string
  
negative.code: 	 (grant (not (mode-grant (caar mode-plist))))
  	 mode-string
  	 params)
      (mapc (lambda (pair)
  	    (let ((new-grant (mode-grant (car pair))))
  	      (when (not (equalp grant new-grant))
  		(setf mode-string
  		      (concatenate 'string
  				   mode-string
  				   (if new-grant "+" "-")))
  		(setf grant new-grant)))
  	    (setf mode-string
  		  (concatenate 'string
  			       mode-string
  			       (mode-mode (car pair))))
  	    (push (cdr pair)params))
  	  mode-plist)
      (make-instance 'cmd-mode
  		   :prefix prefix
  		   :params (append (list target mode-string)
  