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)'.