> I suspect that the case-esac structure is a neglected control structure.
indeed. and combined to the neglected alternative syntax (man zshmisc)
(probably inspired by rc, as well as the neglected rcquote option), you have:
pd () case $+1 { (0) popd ;; (*) pushd "$1" ;; }