Schemeのインライン展開についての疑問

Scheme のインライン展開はローカル手続きには適用できるが、グローバルな手続きには適用しづらいという結論で良いのだろうか。
ローカル手続きであれば、呼び出される場所や set! されるかどうかなどの情報を簡単に解析できる。
一方でグローバルな手続きだと load があるのでそういう情報を解析しづらいと。
あとは他の変数に束縛されたり手続きに渡されたりするので、定義を削除するわけにもいかないと。
ちと自信無し。