自作のScheme処理系のためのコンパイラを書いてるんですが、named let は
次のような感じで変換すればオーケーでしょうか?
letrecをまだ用意していないもので。

(let loop ((a foo)
      (b bar)
      (c baz))
 body)
=>
(let ((loop #f)
   (a foo)
   (b bar)
   (c baz))
 (set! loop (lambda (a b c) body))
 (loop a b c))