In Zsh, `declare -F` declares a double-precision floating point variable:
$ declare -F myvar
$ echo $myvar
0.0000000000
To list all function names in Zsh, use `typeset -f +`.
In `zsh`, the `$functions` special associative array maps function names to their definition so `${(k)functions}` which expands to the _keys_ of that associative array will also expand to the list of function names.
Bash and Zsh are different shells, you can’t expect them to behave in exactly the same way.