> immutableなメソッドだとドキュメントに明記されていて

これを実装の詳細だと言うやつがいるんだよねぇw
これ(オブジェクトを変えるか変えないか)は仕様であって
実装の詳細じゃないのにね。