効率を考えて「環境を閉じ込めた関数」と「閉じ込めていない関数」を
区別する実装はあるかも知れないが、そんな細かい実装上の区別を
初心者に押し付けてどうする?

「すべての関数は環境を内部に持っている」と言った方が簡単だし
概念的には正しいだろ?