Since I can programming in C, I understand the power of string operation, and I am amazed, how you implemented built-in string operations in IS-BASIC.
In the standard C library there is such things like, determine how long a string, or what position begins a given text pattern. And IS-BASIC contains these essential functions (LEN(A$)) or POS(X$,Y$,n).
Maybe I could be 10-12 years old, when I started to write a "Wheel of Fortune" like game (in hungarian called: "Szerencsekerék") in IS-BASIC, and I remember, invested a lot of time in it. I divided the game in two major parts, the rotating wheel, and the table with the text.
After a lot of work, I was done with the wheel. It was awesome, because I used a graphical solution. Later I made the table, and the problems had just begun. Namely I experienced, that if a program is exceed a certain size (I mean in lines) the string operations, didn't provide proper return value. It took me a lot of time to find out why it is not working.
I extracted my string operation routine (with the built-in functions), and analysed itself. I realised, it worked properly alone. Only in the long code didn't do that.
I was confused, because there wasn't other alternative to inspect a string, and I didn't know assembly, to replace the built-in function. Thus I gave up writing this game.