2) You also need to remove the (or (eq? vector-a vector-b) ...) from the top of that function.
diff --git a/vectors/vectors-impl.scm b/vectors/vectors-impl.scm
index 9b798e0..0be2c0c 100644
--- a/vectors/vectors-impl.scm
+++ b/vectors/vectors-impl.scm
@@ -736,7 +736,6 @@
(and (binary-vector= elt=? vec1 (car vec2+))
(loop vec2+)))))))))
(define (binary-vector= elt=? vector-a vector-b)
- (or (eq? vector-a vector-b) ;+++
(let ((length-a (vector-length vector-a))
(length-b (vector-length vector-b)))
(letrec ((loop (lambda (i)
@@ -746,11 +745,10 @@
(vector-ref vector-b i)
i)))))
(test (lambda (elt-a elt-b i)
- (and (or (eq? elt-a elt-b) ;+++
- (elt=? elt-a elt-b))
+ (and (elt=? elt-a elt-b)
(loop (+ i 1))))))
(and (= length-a length-b)
- (loop 0))))))
+ (loop 0)))))