Revert "ロールバック"

This reverts commit 89d763340082d02b63889f5a44f83c8e50573c37.
Revert "変数を外に出すのやめ。"

This reverts commit f832b1d6c4c149155129b3495c639118fc1e84d2.
Revert "全体を無名関数化"

This reverts commit 2e6a1dfdc073a66dd9d27fc76abae5153f09377d.
Revert "データに依存してない部分を関数の外に出す"

This reverts commit 4ebaa0ee793410f9ecb866eb822eac8efe3699d1.