That works until you want to use code from somebody else who also has something like that that serves them well, but is slightly different.
If you’re extremely lucky, things will compile and work.
If you’re just lucky things won’t compile, and you’ll have to write conversion functions (or macros).
If you’re unlucky, there will be subtle differences, likely poorly documented, between the libraries, and code will compile but have subtle bugs.
Of course, other languages have that problem, too, but at the higher level of json parsers or graphics libraries, not at the basic level of strings, lists, or maps.
If you’re extremely lucky, things will compile and work.
If you’re just lucky things won’t compile, and you’ll have to write conversion functions (or macros).
If you’re unlucky, there will be subtle differences, likely poorly documented, between the libraries, and code will compile but have subtle bugs.
Of course, other languages have that problem, too, but at the higher level of json parsers or graphics libraries, not at the basic level of strings, lists, or maps.