anchor.diff:    #+sbcl
     `(sb-kernel:with-array-data ((,v ,vector) (,s ,start) (,e ,end))
        ,@body)
  -  #+cmu
  +  #+(or cmu scl)
     `(lisp::with-array-data ((,v ,vector) (,s ,start) (,e ,end))
        ,@body)
     #+openmcl
  
positive.code:               ,vector ,start ,end
                (lambda (,v ,s ,e) ,@body))))
  
  #-(or sbcl cmu openmcl allegro)
  (progn
    ;; Stolen from f2cl.
    (defun array-data-and-offset (array)
  
negative.code:              (,s (+ ,start ,offset)))
           ,@body)))
    ;; slow, copying implementation
    #-(or sbcl cmu scl openmcl allegro)
    (once-only (vector)
      `(funcall (if (adjustable-array-p ,vector)
                    #'call-with-array-data/copy
  