Two-phase Name Lookup と Environment Problem

C++ LISP (LISP だけじゃないけれど)
テンプレート定義 引数として関数を受ける関数の定義
テンプレート定義内の依存名 関数内の自由変数名
依存名が実際に指しているもの 自由変数が実際に指しているもの
関数
テンプレートの Point of Definition 関数が実際に評価される場所
テンプレートの Point of Instantiation 関数引数を高階関数で束縛した場所

というアナロジーをでっち上げたとき, C++ の two-phase name lookup が取り扱っているのってよ〜するに LISP とかでいうところの環境問題 (downward funarg problem) ?