This does not compile on guile 3.0.7,

(define (f . l)
  (let lp2 ((i 0) (s 0) (l l))
    (if (and (pair? l) (< i 64))
         (lp2 (+ i 1) (if (car l) (logior (ash 1 i) s) s) (cdr l))
         s)))

While compiling expression:
Throw to key `numerical-overflow' with args `("ash" "Numerical ove
rflow" #f #f)'.