下位の関数でIOを返した場合、連鎖的に上位のすべての関数の返値にIOをつけなければならなくなると思うのですが、
そういう場合って、SICPで勧めているプログラミングスタイルだと二度手間になってしまいますよね。