I think the number of variables is just about right, especially with re-using the A-D (which I do regularly).
I was thinking about it though, and it seems that there are not too many letters in the alfabet left!
most everything is used already for other purposes. I suppose one could maybe do double letters as variable names IF that were necessary? Like AA BB etc.
I was thinking about it, because I did find myself couple of times in situation where I was running out of variables. There are script elements that become radically streamlined when variables are used. And sometimes using a variable is the only way to fit the command within the limit of the line. So, what I mean is that there are situations where I find myself using variables not because I need a variable for programmatic reasons, but rather for logistical solutions. And when I do that: I tend to reach the limit.
Using PN a b c for getting and setting values in a list (pattern) is a good work around, but only in some situations. In fact I remember using this in conjunction with some math commands and TT was getting confused, as a result of which, it was setting values in the program instead of getting them… or something like that. For example:
ADD PN 1 5 8
Which appears to be correct syntax, would set a value in the pattern instead of performing the addition. (If memory serves me right. And I can’t remember if changing the order [ ADD 8 PN 1 5 ] solved the problem.)