Does following call chain need 6 words for work space instead of 5, i.e. (##core#inline_allocate ("C_s_a_i_digits_to_integer" 6) str start (car end) radix neg?)) ? https://github.com/jjhoo/chicken-core/blob/master/library.scm#L2471 https://github.com/jjhoo/chicken-core/blob/master/runtime.c#L10956 https://github.com/jjhoo/chicken-core/blob/master/chicken.h#L2411 (4?) https://github.com/jjhoo/chicken-core/blob/master/chicken.h#L2376 (2?) (scan-digits+hashes (lambda (start neg? all-hashes-ok?) (let* ((digits (and (not seen-hashes?) (scan-digits start))) (hashes (if digits (and (cdr digits) (scan-hashes (cdr digits))) (and all-hashes-ok? (scan-hashes start)))) (end (or hashes digits))) (and-let* ((end) (num (##core#inline_allocate ("C_s_a_i_digits_to_integer" 5) str start (car end) radix neg?))) (when hashes ; Eeewww. Feeling dirty yet? (set! seen-hashes? #t) (go-inexact! neg?)) (cons num (cdr end))))))