spec is (elt= e[i] e[i+1]) for lists i and i+1, previously the first
arg was always from list 0 not list i.
(and (elt= (car a) (car b))
(lp (cdr a) (cdr b)))))))
(or (null? rest)
- (let ((first (car rest)))
- (let lp ((lists rest))
- (or (null? lists)
- (and (lists-equal first (car lists))
- (lp (cdr lists))))))))
+ (let lp ((lists rest))
+ (or (null? (cdr lists))
+ (and (lists-equal (car lists) (cadr lists))
+ (lp (cdr lists)))))))
;;; Selectors