Ruby で nil.to_i の戻り値

某所で聞いたので覚書。 Rubynil#to_i で数値に変換すると 0 が返ってくる。

nil.to_i
# => 0

そりゃそうなんだけど、Rubynil0 になるのはなんか不思議