There's a problem here because of a `zsh' bug:
$ diff -u <(thing) <(thong) | blah
diff: /proc/self/fd/13: No such file or directory
diff: /proc/self/fd/14: No such file or directory
caused by the process-substitution pipes being lost somewhere.
Work around this as (a)
$ diff -u =(thing) =(thong) | blah
(produces temporary files), or (b)
$ { diff -u <(thing) <(thong) } | blah
(extra typing).