静的スコープを旨とする Scheme では、動的にスコープが変わる(たとえトップレベルでも
宣言されているかどうか、という事実が変わる)のは好まれないのじゃないかなあ。
(define x デフォルト値)
(if なんちゃら (set! x ほげほげ))
みたいなんじゃ駄目?