Or fish, which is basically zsh with sane defaults.
That's technically true for zsh in cases, but it's far easier to port or add compatibility for zsh than fish.
Today I learned people actually write / use scripts without specifying the interpreter at the top of the script. This is like writing a Ruby script and expecting it to work when calling it with the Python interpreter.