m4: Improved exch

 
 17.1 Solution for 'exch'
 ========================
 
 The 'exch' macro (⇒Arguments) as presented requires clients to
 double quote their arguments.  A nicer definition, which lets clients
 follow the rule of thumb of one level of quoting per level of
 parentheses, involves adding quotes in the definition of 'exch', as
 follows:
 
      define(`exch', ``$2', `$1'')
      =>
      define(exch(`expansion text', `macro'))
      =>
      macro
      =>expansion text