In my package, I use some of the built-in Mathematica symbols in non-canonical ways. Right now, I use them as
OptionValues to certain package symbols. Therefore, I modified the
::usage of the built-in symbols to include information about how those symbols are used in the package.
For example the package has a function
FoldDistribution and I've given it an option
Integer that can be
False. So I modified the
::usage as follows:
Unprotect[Integer] Integer::usage = "Integer is the head used for integer. Integer is an option to FoldDistribution." Protect[Integer]
So far, things look like they're going ok, and nothing fundamentally wrong seems to be happening with how Mathematica operates. Question: should I be worried about anything bad happening down the line? Is it recommended not to use built-in symbols in unintended ways? And what about changing their usage messages?