anchor.diff:  ;;;; if not already there (with + around it)
   (defmacro implement-concept ( (concept-name implementation-tag doc &key (default-implementation nil)) documented-lambda-list &body body )
     (let ((method-name (intern (concatenate 'string (symbol-name concept-name) "-IMPL")))
  -	(normal-lambda-args (%documented-lambda-list-to-lambda-list documented-lambda-list :error-on-missing-doc nil)))
  +	(normal-lambda-args (%documented-lambda-list-to-lambda-list documented-lambda-list :error-on-missing-doc nil))
  +	(concept-symbol (%create-concept-symbol concept-name 
  +						(%documented-lambda-list-argument-types documented-lambda-list :error-on-missing-doc nil))))
       (let* ((implementation-tag-+ (concatenate 'string "+" (symbol-name implementation-tag) "+"))
   	   (implementation-tag-symbol 
   	    (find-or-make-implementation-tag implementation-tag-+ (symbol-name concept-name) doc))
   	   (concept-check (list (gensym "concept-var-") `(eql ',implementation-tag-symbol))))
         (when (and 
  -	     (eq (symbol-value (find-concept-symbol (symbol-name concept-name)))
  +	     (eq (symbol-value concept-symbol)
   		 +UNSET-IMPLEMENTATION-TAG+)
   	     default-implementation)
  -	(setf (symbol-value (find-concept-symbol (symbol-name concept-name)))
  +	(setf (symbol-value concept-symbol)
   	      implementation-tag-symbol))
  -      `(define-concept-method-impl ,method-name (,concept-check ,@normal-lambda-args) ,@body))))
  +      `(progn
  +	   
  +	 (define-concept-method-impl ,method-name (,concept-check ,@normal-lambda-args) ,@body)))))
   
   
   ;;;;
  
positive.code: 		   (:documentation ,doc))
  		 (defgeneric ,concept-method-impl ( +concept-impl+ ,@(%documented-lambda-list-to-lambda-list concept-args) )
  		   (:documentation ,doc))
  		 (defmethod ,concept-method ( ,@(%documented-lambda-list-to-lambda-list concept-args) )
  		   (,concept-method-impl ,concept-symbol ,@(%extract-arguments-from-documented-lambda-list concept-args)))
  		 ;; print to the user
  		 (format t "created new concept ~A~%" ',concept-symbol))))))))
    
  
negative.code: ;;;; (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) "")))
  	(concept-method-impl (intern (concatenate 'string (symbol-name concept-name) "-IMPL")))
  	(concept-implementation-tag (intern (concatenate 'string (symbol-name concept-name) "-IMPLEMENTATON-TAG"))))
      (with-concepts-package package
        (if (and (find-symbol (symbol-name concept-name) *concepts-package*)
  	       error-when-duplicate-concept)
  