anchor.diff:    #`(defparameter (function ,name) (lambda ,sig ,@body)))
   
   (defmacro let (bindings &rest body)
  -  #`(funcall (lambda ,(%compound-map (lambda (b) 
  -                                       (%compound-elt b 0))
  +  #`(funcall (lambda ,(%compound-map (lambda (b)
  +                                       (if (%compound? b)
  +                                           (%compound-elt b 0)
  +                                           b))
                                        bindings)
                  ,@body)
  -              ,@(%compound-map (lambda (b) 
  -                                 (%compound-elt b 1)) 
  -                               bindings)))
  +             ,@(%compound-map (lambda (b) 
  +                                (if (%compound? b)
  +                                    (%compound-elt b 1)
  +                                    #'nil))
  +                              bindings)))
   
   (defmacro let* (bindings &rest forms) ;; Scheme's letrec*
     #`(let ,(%compound-map (lambda (b)
  
positive.code:                   (lambda ,params ,@body))
        #',name))
  
  (defmacro defslot (slot class)
    (let* ((slot-name (symbol-name slot))
           (accessor-name (string-concat "." slot-name))
           (setter-name (setter-name accessor-name))
           (slot-name-form (string-to-form slot-name)))
  
negative.code:   (%set-class-name c s))
  
  (defun set-slot-value ((a object) (slot-name string) (value object))
    "Caution: bypasses slot type check"
    (%set-slot-value a slot-name value))
  
  (defun set-superclass ((class class) (superclass class))
  