It is easier to port a shell than a shell script.
Programmers can be lazy.
Part of language design is perturbing the proposed feature in various directions to see how it might generalize in the future.
My arthritic pinkies are already starting to ache just thinking about ||||=.
The choice of approaches could be made the responsibility of the programmer.
If you're a large corporation, you can afford to pay the money to register patents, but if you're an individual like me, you can't.