See also:
What do newcommand, renewcommand, and providecommand do, and how do they differ?
We have
\newcommand: Acts when command undefined; error otherwise.\renewcommand: Acts when command defined; error otherwise.\providecommand: Acts when command undefined; no-error otherwise.
What about:
\???: Acts when command defined; no-error otherwise.\???: Acts regardless of whether command is defined or not
Why aren't these available to use by default?
\labeletc in your document. Are the use cases for those two worth making the number of available commands 4 less (assuming they could be implemented using only 2 csnames each) – David Carlisle May 31 '19 at 15:35\DeclareRobustCommandand the second is\@ifdefined..\renewcommand(I can't think of many uses for that though) – David Carlisle May 31 '19 at 15:54\declareexistingcommand{\box}{...}to be available to users? – egreg May 31 '19 at 15:59\letand\def? – touhami May 31 '19 at 16:31