The documentation for the + control flag says :-


"The effect of ‘+’ is as if all attribute flags which precede it were given with a ‘+’ prefix. For example, ‘typeset -U +’ is equivalent to ‘typeset +U’ and displays the names of all arrays having the uniqueness attribute, whereas ‘typeset -f -U +’ displays the names of all autoloadable functions.

Link : https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-typeset

Shouldn’t it be ‘typeset -f -u +’ instead ? The uppercase -U only prints functions which are autoloaded with alias suppression turned on and not all autoloadable functions .