ファイル処理の関数を書いたら、シグネチャが String> IO String みたいにIOがつく関数がたくさんできるんだけど、これがRWHが言うところの「汚染される」ってこと?
上手に作るとIOがついてない関数で置き換えられるってこと?