Lisp let's you modify its syntax. You're making the standard argument about why that might be a bad idea. At least for Lisp, historically it worked pretty well. As new ideas came along, a lot of the good ones got incorporated in Lisp as syntax extensions.
Overloading in C++ is kind of similar. Im not sure that worked out so well in practice.
Overloading in C++ is kind of similar. Im not sure that worked out so well in practice.