And IMO, that's sensible: ls is primarily an interactive tool (basically all uses of it in shell scripts are wrong), so adding more features that help users to better/more easily make sense of their directory listings is a net benefit, even if it makes the tool somewhat slower.
Folder icons in the terminal may sound silly, but eza uses them to indicate empty folders, among others. Colour-coded file age/size columns make parsing a directory list faster. Git columns saved my many trips through gitignore / git status. And so on.
And even through not particularly fast fuse-over-network connections it's still faster than I can type, which is more than good enough for an interactive CLI tool.
I would guess that ls has at least 50 different behaviors based on the switches.
For GNU ls: e/E, j/J, V, K, M, O, P, W, y/Y and z are not used
It uses all the other upper and lower case letters, along with digit 1 and has a hand full of long options without a corresponding short one.
Edit: I double-checked the man page, I'm surprised how many are unused, I would have guessed that it uses all of them by now.
Challenge accepted!
Probably the first time ever I hear about a community built on a freaking directory listing tool.
Generally I think of most engineers I know in person as people receptive to improvements & gains. Yes they looks at costs/tradeoffs. But there feels like some strong rejectionistic / contrarianism / negativity that I wasn't expecting, that seems bizarre & antisocial to me, especially here as the top post.
This is thousands of lines of rust with emphasis on community building and ongoing development.
There seems to be a disconnect between engineering effort and product here which doesn't totally make sense to me. I think I'll stay with ls.