And you're allocating manipulating lists in the Scheme version, but using
an array in the C version, which you could also do in the scheme version.
Isn't the second version, with: (do ((vec (make-u8vector len)) allocating, and then writing with u8vector-set! doing that?
Thanks for your explanations.
Best regards,
Álvaro