The [ ] brackets force evaluation of items inside the brackets before items outside of them can be evaluated.

In this case, $+ [ $+ b ] is saying: append b to the $+ outside of [ before it can be evaulated. This results in $+b.

$+anything is treated as $+ (which I think has always been the case).