「該当がなかったらnilを返す」というメソッドがやたら多い理由でもあるね
ホントは、該当なしなら空文字列や空配列もでいいはずなのよ
でもそうせずに“失敗”時に nil を返すようにすると

foo() || var || baz()

みたいな混成の処理ができる
foo メソッドが空文字列を返すとか var は Hoge::EmptyData オブジェクトが入ってるとか
そういうのだととても困る
まさか false を入れとくわけにもいかないし
undef? ああその手もあるか