anchor.diff:    (%with-brackets str info
       (%late-print x. str info)
       (!? (%print-call? x info)
  -        (%print-call .x ! str info)
  +        (? (function? !)
  +           (funcall ! x str info)
  +           (%print-call .x ! str info))
           (%print-rest .x str info))))
   
   (defun %print-abbreviation (abbreviation x str info)
  
positive.code: (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)
           !)))
  
  (defstruct print-info
    (pretty-print?  t)
  
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
  