https://github.com/superbobry/io-mode/blob/master/io-mode.el#L118
states that IO doesn't allow newlines anywhere in the syntax. This is not true:
http://www.iolanguage.com/scm/io/docs/IoGuide.html#Syntax
We noticed this while working through seven languages in seven weeks that expressions were winding up broken and now I understand that it is io-normalize-sexp that is doing it. At the very least, io-normalize-sexp needs to replace the newlines with semicolons (outside of strings, of course).