This was something I didn't think of before. Solution: replace the return-recording by a branch to a new, last block, which does the recording and takes the Return as an argument, just as with Branches.
(This is not an "error", it just does unnecessary things and shifts the tapes indices).
Currently, every return statement is always recorded, even if there actually happend a jump before it; see both
@7
s here:This was something I didn't think of before. Solution: replace the return-recording by a branch to a new, last block, which does the recording and takes the
Return
as an argument, just as withBranch
es.(This is not an "error", it just does unnecessary things and shifts the tapes indices).