As I mentioned, I don't see a problem with forbidding the creation of a binvar named &, as that avoids needing to make several other commands support it, and avoids the problem where a script could use $bvar(parameter,0) to verify it exists only to have the script error when trying to do something with that binvar.

As for the [brackets], I'd noticed it was an exception to spaces buffer not being needed lots of places, like with:

Code
//var %text string , %from i , %to o | echo -a $replace([ %text ],[ %from ],[ %to ])