R6RS ではトップレベルでの定義と式は letrec* と同じ意味であることになってる。

(define a 10)
(define (f x) (+ a x))
(define (g x) (+ (f x) a))
(define (p x) (display x) (newline))
(p (f 10))

と書いたなら

(letrec* ((a 10)
(f (lambda(x)(+ a x)))
(g (lambda(x)(+ (f x) a)))
(p (lambda(x) (display x) (newline))))
(p (f 10)))

と同じ意味になる。