Re: use of 'goto'
It's a necessary techinque in a deficient language.
An error exit is an exceptional condition and, given that language designers haven't yet found a way to prevent exceptional conditions being written, exceptions are the way to deal with that. "goto error_exit;" is a sad C epitaph.
Once or twice I've felt I needed to use goto in C, but I've spent all my life rewriting more famous people's brown stuff.
This is only a comment on your own response; basic is fundamentally steampunk and I completely get that. Of course basic can have exceptions as well; it's an interpreter.