なぜ3.5.3まで気づかなかったかと言えば、そもそもフレームワーク中でこのエラー制御演算子があまり使われていなかったから。
3.5.3でキャッシュ作成で使われるようになったので、処理の最初でエラーになって初めて気づいたのでした。

ところでこのエラー制御演算子、コストが非常に高いとどこかで読みました。
そんなコストの高い処理が毎回冒頭で行われるというのは、そもそも良いものなんでしょうかね?
厳密にベンチマークを計ったわけでないので強くは言えませんが。