That's what I wasn't sure about (I also wrote >>27 )- on the way from Chicken Scheme or Chez to C it seems like a lot of the variables could end up having type declarations added. Specifically, anything in a let that never was set! -or even if it was set!, if you were re-writing it in C in SSA form.