破壊的メソッドが先にあって、非破壊的メソッドを後から
定義する必要が出てきたときは、まず後者を動詞の受動態で定義する。

例えば obj.move が破壊的だったら非破壊的な方は obj.moved にする。

def move
  obj.clone.moved
end

テストしてグリーンになったら move -> move! , moved -> move の順に
「メソッド名の変更」のリファクタリングを行う。