手続き型言語での状態書き換えを、「副作用」と呼ぶ事自体が迷走の始まり。
手続き型と同じアプローチで関数型言語を無理やり使おうとすると、関数型言語にとって副作用でしかないものが必要になるだけの事。