This didn't compile. Also, I think it's confusing to introduce `IO String` this early.