Wouldn't it be easier just using the functionality that is officially in for :String instead of using hack approaches like [x] on them?
I'm aware that they work, but its up to you to take care that you are not doing some crap actually.
Just use index 0 .. string.length-1 and you won't have problems. (ie write yourself set - get functions that throw errors if you try to do unallowed access)
Simple reason is, that actually index -4 and -8 have their own needs on objects (what you see above is no string specific behavior) and removing that until the stuff behind it is actually exposed to the users would be a very bad idea, at least out of my sight.
I'm aware that they work, but its up to you to take care that you are not doing some crap actually.
Just use index 0 .. string.length-1 and you won't have problems. (ie write yourself set - get functions that throw errors if you try to do unallowed access)
Simple reason is, that actually index -4 and -8 have their own needs on objects (what you see above is no string specific behavior) and removing that until the stuff behind it is actually exposed to the users would be a very bad idea, at least out of my sight.