Great, But \ is ugly
Also, I agree but I'm not sure what I would propose as a better token. Maybe another colon?
def printAndInc(x: Int32): Int32 \ IO =
becomes:
def printAndInc(x: Int32): Int32 : IO =
Or maybe, since functions need something after the \, even for pure functions, we just drop the \ and use the last argument?
def printAndInc(x: Int32): Int32 IO =
Other languages already have readable keywords in the function definition; extends, raises, where, having, Optional, and so on. They don’t feel unnecessarily verbose.