C#は、故意か否かにかかわらず、バグの原因となる要因を排除している。
その顕著な例が new & override であり、機械語的にはまったく意味のないものである。

そういう観点で考えると、引数の省略は関数の仕様変更に対し非常に脆弱である。
またほとんどの場合、省略は null で代用可能であることも忘れてはならない。
故に、そのような見つけにくいバグを一個生むより、10個のラップ関数を書かせるのだろう。