Tip of the day! Label scope.
The more structured your program is, the less need you'll have for labels. But what happens if you need a label in a function and you accidentally reuse a label from your main program?
SmileBASIC doesn't mind! Labels defined within a function are considered local to that function, and do not count as duplicates if the same label is used elsewhere.
Moreover, GOTO cannot be used to travel between functions. If you try to GOTO a label defined inside a function from your main program, or vice versa, the program will throw an undefined label error.
What about this?!
Actually, it works just fine. Once you've set the data position with RESTORE, you can READ that data from anywhere else in the program.