ここに書かれている、参照の透明性は、常に頭に入れておきたいものです。いうのは、これを考えておかないと、思わぬバグを引き起こすからです。システム変数が使えます。$03これは、(b)に反する例かもしれません。悪いといっているわけではありません。システム変数ですから、保障された内容ではありません。使うのは自己責任です。更新されなかっただけのこと。システム内の高速化を考えれば、リーズナブルな仕様です。使う側ではそのリスクを負わなければなりません。これを例に出したのか?それは、私だけかもしれませんが、この手のことは、よく実装しがちだからです。書いた時は、そのことを覚えているのですが、しばらく経ってから使った時、思うように動かないのは、大抵こういうことだったりするからです。内部変数ではよいとしても、表に出てくる値に対しては、参照の透明性を考慮しておくべきでしょう。