In my package, I use some of the built-in Mathematica symbols in non-canonical ways. Right now, I use them as Options or 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 True or 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]
Giving ? 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?



"Integer"? – Daniel Lichtblau Dec 20 '15 at 23:51System`context with the new release... See my comments below my answer. – István Zachar Dec 21 '15 at 21:37