anchor.diff:  (add-printer-argument-definition 'tagbody '(&body body))
   (add-printer-argument-definition 'block   '(name &body body))
   (add-printer-argument-definition 'cond    '(&body body))
  -;(add-printer-argument-definition 'function ['(,@(? .._ '(name)) (args &body body))])
   
   (adolist *macros*
     (add-printer-argument-definition !. .!.))
   
  -(defun get-printer-argument-definition (x)
  -  (!? (href *printer-argument-definitions* x.)
  -      (? (function? !)
  -         (funcall ! x)
  -         !)))
  +(defun %get-printer-argument-definition (x)
  +  (href *printer-argument-definitions* x))
   
   (defstruct print-info
     (pretty-print?  t)
  
positive.code:   (%with-brackets str info
      (%late-print x. str info)
      (!? (%print-call? x info)
          (%print-call .x ! str info)
          (%print-rest .x str info))))
  
  (defun %print-abbreviation (abbreviation x str info)
  
negative.code: (defun %print-call? (x info)
    (& (print-info-pretty-print? info)
       (symbol? x.)
       (| (%get-printer-argument-definition x.)
          (alet (symbol-function x.)
            (?
              (builtin? x.)   nil
  