STMにIOを入れると、やり直しが発生したときにIOが複数回実行されてまずいんじゃないの?