Philip Taylor (RHBNC) writes:
 > How can that work?  Assuming that (e.g.) "\newcommand" is macro ->
 > {... \def ...}, then without a LaTeX equivalent of PostScript's
 > "bind", you still need access to "\def"; and if "\newcommand" is
 > macro -> {... \someconcealedversionofdef ...}, then the user can
 > use "\someconcealedversionofdef" :-(

Stick an @ in the name of the renamed \def.  That's enough to stop
most people.