>>414
>Each method returns an object

*an* object だから、途中で「別の」2個目のオブジェクトに差し替わったら台無しだよ。

アンチ厨のDQNは差し置くとして、add_years()というメソッド名は
オブジェクト += 定数
の仕様にするのがOO的には普通のセンスだと思う。
新しい別のオブジェクトを返すというのは、(このクラスの)ユーザに無断で new して別物に差し替えられてるような感じになる。