I can't really see how that is the same instance except for the fact that we're both using evaluation brackets. This is not inside an identifier, so it's not that, and the brackets are not evaluating a null char (1 is never null).

But just for fun, I tried it with null and got the same result.

As for the question "why use dynamic locals," there's really no reason. But generally when I'm bored I try to make my scripts as complicated as they can possibly be (I'm sure we've all done this), and I encountered this problem while doing so.

Anyway, the bugs here are when evaluation brackets are encountered after /var, it then behaves similarly to /set (in that it does not require = to assign data), and the next bug is that it ignored the priority of $rand() by treating the comma inside it as the end of the var's string, and defined a second variable (%anothervar) instead of evaluating it inside $rand()

But yeah, I guess it might be the same bug, who knows. :x