つーかHaskellで一番面倒なのが意図しない副作用が発生している場合だろ。