i'm not sure this must be considered as a bug, but using bash 4.2.45 (end it seems to be the same in the devel branch) the output of :
f1 () { y >& >(z) ; } f2 () { y &> >(z) ; } declare -f f1 f2 f1 () { x &>>(y) } f2 () { x &>>(y) } # look like a bug source <(declare -f f1 f2) -bash: /dev/fd/63: line 3: syntax error near unexpected token `(' -bash: /dev/fd/63: line 3: ` x &>>(y)' hope this help.