Thank you!
Thank you!
I would also point out that you do have parse errors in your scheme (incorrect indentation errors) and that parse errors are not actually a bad thing (if you think about static analysis tools, they can only work under the assumption that not every bytestring is a valid, useful program, and they get better the sparser that valid, useful programs become).
You still can have errors at the ETN level, but you cannot have parse errors at the TN level. TN will parse all inputs fine.
I totally agree that compile time error checking is a great thing! ETNs support that too, and you can make your ETNs behave at compile time exactly like languages do today if you want. But they also allow easy to implement cool new error handling patterns beyond just "crash and point to the offending character".