Shells have always been the black sheep of programming, basically because compatibility reasons have made it difficult to adopt useful ideas from language design. If you break borne compat in meaningful ways, nobody will use your shell.
1) providing decent compatibility with most common shells out of the box
2) providing good compatibility with most common shells with flags
3) adding 'real programming language' features like, fucking, FFI in a way that feels natural
Zsh has good arithmetic out of the box, and also, you can import a socket library and write a gopher server in like 3 lines...
1) you will actually need to install it, and you'll probably run into a lot of systems that default to bash (or worse, dash). zsh will spoil you and dash will suck extra hard when you need to use it.