i've only tested basic cases, but it seems like whenever you use evaluation brackets inside an identifier around something that turns out to be $null, it has some strange impact on the specific parameter it's used in:
//echo -a $+(a [ $1 ] b,c)
echos "c"
//echo -a $+(a [ $1 ] b ,c)
echos the expected "a bc" (notice the extra space after 'b')
//echo -a $+(a,b b b b b [ $1 ] c)
echos "a"
including an extra space after 'c' fixes the last one, and all other cases of this nature. note, this seems to be happen with all identifiers, apparently an issue with evaluation brackets. i realize theyre 'quirky' by nature, and understand if this isnt looked at :S