As discussed with dkf on the Tcl'ers chat...
It works as documented, and treats b(c) as a literal
variable name (not as an array). But because this
variable can never be accessed with [set] or
$-substitution, [upvar] should rather fail on such
variable names, or (IMHO better) it should create an
array element, if that's possible at all.