はっきりとコードの領域を副作用と純粋に分けられるかじゃないの
haskellはいい線行ってるとおもうけど