anchor.diff:        (error (format nil "invalid operator: ~A" op))))
   
   
  -;;; built-in macroes
  -;;;   <built-in-macroes> ::= plist { <macro-name> => <macro-expander> }
  -
  -(defvar +built-in-macroes+
  +;;; built-in macros
  +;;;   <built-in-macros> ::= plist { <macro-name> => <macro-expander> }
  +
  +(defvar +built-in-macros+
     (list '+ (lambda (args)
                (match args
                  (() 0)
  
positive.code:                ((a1 a2 . rest) `(/ (%div ,a1 ,a2) ,@rest))))))
  
  (defun built-in-macro-expander (name)
    (or (getf +built-in-macroes+ name)
        (error "invalid macro name: ~A" name)))
  
  
  
negative.code: 
  (defun built-in-macro-p (form)
    (match form
      ((op . _) (and (getf +built-in-macros+ op) t))
      (_ nil)))
  
  (defun user-macro-p (form def)
  