anchor.diff:  	      (eval-when (:load-toplevel :execute)
   		(proclaim `(special ,concept-symbol)))
   	      (setf (documentation concept-symbol 'VARIABLE) doc)
  -	      (setf (symbol-value concept-symbol) nil)
  +	      (setf (symbol-value concept-symbol) +UNSET-IMPLEMENTATION-TAG+)
   	      ;; create the concept list in package if needed
   	      (if (not (find-symbol (symbol-name '+concept-list+) *concepts-package*))
   		  (let ((concept-list (intern (symbol-name '+concept-list+) *concepts-package*)))
  
positive.code:   
  
  	
  
  ;;;;
  ;;;; Define a particular concept
  ;;;; This just makes it's name available in the current concepts package
  ;;;; (or the given concepts package, defautls ot current)
  (defmacro define-concept (concept-name concept-args doc &key (package *concepts-package*) (error-when-duplicate-concept t))
    (let ((concept-method (intern (concatenate 'string (symbol-name concept-name) "-METHOD")))
  	(concept-method-impl (intern (concatenate 'string (symbol-name concept-name) "-METHOD-IMPL"))))
      (with-concepts-package package
        (if (and (find-symbol (symbol-name concept-name) *concepts-package*)
  	       error-when-duplicate-concept)
  
negative.code: ;;;; Returns the concept symbol for a concept, or NIL of not found
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defun find-concept-symbol (concept-name &optional (package *concepts-package*))
      (etypecase concept-name
        (symbol (find-symbol (symbol-name concept-name) package))
        (string (find-symbol concept-name package)))))
  
  ;;;;
  ;;;; Returns the implementation tag symbol.
  