>>184
そういう状態を全部引数で渡す関数として書けるように考えられたのが
純粋関数型プログラミング言語です
引数で渡す関数として書くということを意識する必要を省くためにモナドとかを使います
Haskellとか