anchor.diff:  ;; Trivial prototyping for specialized method dispatching
   ;; with minimal consing in generic function calls
   
  +;; FIXME move to spec-proto.lisp and update reference in spec-mop.lisp
  +
   
   (defun mk-expandable-vec ()
     (make-array 0 :fill-pointer t :adjustable t))
  
positive.code: ;;
  ;; co spec.lisp
  
  #+NIL ;; unused macro, in this revision
  (defmacro do-cons ((first rest whence &optional return) &body body)
    (with-symbols (dispatch %whence)
      `(block nil
         (labels ((,dispatch (,%whence)
  
negative.code:    :type t
     :read-only t)
    (initfunction
     ;; NB: NIL in this slot implies that the initorm slot can be ignored
     nil
     :type (or function null)
     :read-only t)
    ;; NB this needs a value-p-p slot, as the structure slot cannot be unbound
    (value-p-name
     (lform (make-symbol "Unbound Value-P-Name"))
     :type symbol
     :read-only t)
    (value-p-p
     nil
     :type boolean
     :read-only t))
  
  
  