I'm not really sold on thls.
Remember: In DECORATE the actual meaning of 'goto' is not the same as 'A_Jump' and having it be an alias here will ultimately only add confusion.
I was gonna suggest adding a directive along the lines of "VGoto" (for "Virtual Goto") but "Jumpto" or just "Jump" sounds better.
Aside from its obvious use in multi-blocks, it'd be nice to be able to avoid the unintuitive "A_Jump(256, 'State')" for inheritance-friendly ("virtual" in the c++ sense) jumps.
Why would you want to change the original behavior? Goto VS A_Jump(255) behaves VERY differently especially when inheritance is involved, there were specific situations where I HAD to use A_Jump instead of Goto in the past, and sometimes vice versa; it wouldn't have worked any other way.
It's the same word, so that's not a good idea. Currently it's as easy to say as 'A_Jump is different from Goto because...'.
If you introduce 'Goto' here it becomes, 'Goto is different from Goto, because...' and that's hard to communicate.
That incorporates the return; functionality too, yes. It's quite a bit of a hassle forgetting to include returns and seeing them go complete sideways because of it. Also, because it's annoyingly redundant.
Though now that I think about it, a boolean to allow the rest of the function to process could be useful.
Of course, this doesn't make the return function defunct at all. The return function can still be used in a variety of places and in creative ways still.