anchor.diff:                  :for slot-name :in hidden-slot-names :collect
                   (let ((kwd (intern (symbol-name cname) :keyword))
                         (msg0 (format nil "SKITTER: ~a in ~a is a array of ~a"
  -                                   cname name type))
  +                                    cname name type))
                         (msg1 (format nil "SKITTER: ~a in ~a is not an array of controls. No index is required"
  -                                   cname name)))
  +                                    cname name)))
                     (if length
                         `(,kwd
                           (cond
  
positive.code:   (if (isource-array-slot-p hidden-slot)
        `(defun ,original-slot-name (input-source index)
           (ensure-n-long (,(first hidden-slot) input-source)
                            (+ index 1)
                            (,(control-constructor-name control-type)))
           (,(control-data-acc-name control-type)
             (aref (,(first hidden-slot) input-source) index)))
        `(defun ,original-slot-name (input-source)
  
negative.code: 
         (defmethod listen-to ((listener event-listener) (input-source ,name)
                               slot-name &optional index)
           (let ((control/s (get-control input-source slot-name index t)))
             (if (arrayp control/s)
                 (loop :for control :across control/s :do
                    (listen-to-control control/s listener))
                 (listen-to-control control/s listener)))))))
  
  ;;----------------------------------------------------------------------
  