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