>>164
副作用って、X.pop() で、配列の要素が、1つずつ削除されていってる事か?

最初に、配列のすべての要素をコピーしてから、コピーしたものに対して処理すれば?
そうすれば、元の配列は、そのまま残る